首页 > 技术文章 > LinuX操作系统基础------>Shell基础编程

wyk1 2020-08-06 22:12 原文

  • 案例Shell概述
  • Shell变量设置
  • Shell脚本中的逻辑判断
  • Shell脚本中的循环

  Shell概述:

    Shell是LinuX系统组成的重要部分之一,本质是一个用C语言编写的程序,他接受用户输入的命令把它送入内核去执行,是一个命令解释器。

  Shell脚本解释器的分类:  cat  /etc/shells  来查看

  • /bin/sh
  • /bin/bash
  • /sbin/nologin
  • /bin/tcsh
  • /bin/csh

  1.创建新的Shell脚本:vi/vim   脚本名称 . sh(脚本后缀名是.sh)

  1. #! /bin/bash                           指定脚本解释器
  2. #! filename:+脚本名字              脚本名字
  3. #! function:+功能                       脚本功能
  4. #! writen  by   作者   时间               脚本作者和时间

  echo命令

    •   语法格式:echo 【选项】【输出内容】
    • 参数选项:-e  支持反斜线控制的字符转移
    • 字符转移:\t     \n   

   2.执行脚本:

    •   方法一:直接输入脚本文件的绝对路径或者相对路径
    •        方法二:bash + 脚本名称

   3.修改脚本文件的权限:  chmod  +x(需要的权限)  脚本名称

   4.Shell变量:

      变量:是Shell传递数据的一种方式当Shell脚本需要保存一些信息时,入一个文件名或一个数字,就可以把它存储在一个变量中。

      变量的分类:

  1. 局部变量:仅在当前Shell中有效,其他的Shell程序不能访问局部变量
  2. 环境变量:可以在当前Shell和这个所有子Shell当中生效
  3. 可以使用set命令来查看变量,使用unset命令删除变量
  • 变量名称可以由字母,数字,下划线组成,但是不能以数字开头
  • 环境变量名建议大写,便于区分
  • 变量名用等号连接值,等号左右两侧不能有空格

   5.变量的定义:

    •   语法格式:变量名=值

   6.变量的叠加:

    •    第一种:是用双引号包裹$符号和变量名
    •            第二种:是在$符后使用大括号将变量名包裹起来

 

   7.Read命令:Shell脚本还可以和用户进行交互使用

    •   语法格式:read -p    脚本语句
    • 在进行计算结果的时候要用  []  包裹起来,并在外面加上$符号

 

 

    8.特殊符号的作用:

 

 

   9.测试表达式:

  1. test -e /root/t1.sh
  2. [ -e /root/t1.sh ]         字符两边要加上空格否则报错

   10.文件测试操作符

常用测试操作符

说明

-d 

文件存在,且为目录,则为真

-f

文件存在,且为普通文件,则为真

-e

文件(普通文件或目录),存在则为真

-w

文件(普通文件或目录)存在,且可写,则为真

-r

文件(普通文件或目录)存在,且可读,则为真

-x

文件(普通文件或目录)存在,且可执行,则为真

-n

字符串长度不为0,则为真

   10-1案例:用两种测试表达式来分别测试下root目录下是否存在文件

 

 

 

 

 

    11.单分支语句:

    •   if条件语句都是以if开头,并且有tnen  最后fi 结尾

 

 

 

 

 

   11-1案例:用单分支if语句来判断root目录下是否存在test目录如果存在就输出语句

 

 

   11-2案例:用单分支进行判断root目录下是否存在/root/a/b/a/c如果没有输入确定

 

 

    12.双分支if语句:

 

 

   12-1案例:用双分支if判断root目录下的aaa.txt文件是否有执行权限有就重命名没有则添加权限

 

 

    13.多重分支if语句:

 

 

    12-1案例

 

 

    13.case语句:

 

 

    13-1案例

 

 

   14.while循环

 

 

   14-1案例

 

推荐阅读