系统编程 期末复习二 Shell编程

系统编程 期末复习二 Shell编程

  • 一、输入/输出重定向
  • 二、管道
  • 三、命令连接符
  • 四、Shell语法
    • 4.1 执行Shell脚本
    • 4.2 变量定义
    • 4.3 变量的引用
    • 4.4 变量的输入
    • 4.5 四种“特殊”变量
    • 4.6 变量的运算
    • 4.7 条件语句
      • 4.7.1 条件判断
      • 4.7.2 if语句
      • 4.7.3 select语句
      • 4.7.4 switch-case语句
    • 4.8 循环语句
      • 4.8.1 for循环
      • 4.8.2 while循环
      • 4.8.3 until循环
  • 五、Shell脚本调试
  • 六、Shell函数

一、输入/输出重定向

标准输入为0
标准输出为1
标准错误为2

  1. 输入重定向:命令 < 文件名
  2. 输出重定向:命令 > 文件名
  3. 错误重定向:命令2 > 文件名
  4. 使用&引用文件

二、管道

  1. 使前一个的输出作为后一个命令的输入,符号为|

三、命令连接符

  1. 分隔命令—— ;
  2. 连接命令,逻辑与—— &&
  3. 连接命令,逻辑或—— ||

四、Shell语法

4.1 执行Shell脚本

  1. chmod +x filename
    ./filename
  2. sh file

4.2 变量定义

  1. 使用的同时创建
  2. 变量名由字母、数字和下划线组成,开头只能是字母或下划线
  3. 赋值格式:“变量名=值”,等号前后不能有空格
  4. readonly var 表示var为只读变量,后续不可赋值

4.3 变量的引用

  1. 使用$引用变量
  2. 使用echo输出
  3. #var 取var的长度

4.4 变量的输入

  1. read 变量名

4.5 四种“特殊”变量

  1. 环境变量
    – export 变量名=值
    –可用于创建该变量的Shell及派生Shell
  2. 位置变量
    –代表传入脚本的参数位置
    –$0为文件名
    –shift可以移动位置变量对应的参数,每次左移一个位置,移出去的参数不可再使用
  3. 标准变量
    –也是环境变量
    –在bash环境建立时生成
  4. 特殊变量
    –传递到脚本或函数的参数数量:#
    –上个命令的执行情况:?
    –运行脚本的进程id:$
    –传递给脚本或函数的所有参数:*

4.6 变量的运算

  1. let
    –let 表达式
  2. expr
    –expr 运算式
  3. !! 运算符与变量或数据之间要有一个空格
  4. !! 使用``嵌入expr到等式中

4.7 条件语句

4.7.1 条件判断

  1. 字符串比较
  2. 算术比较
  3. 针对文件的条件测试

4.7.2 if语句

格式:
if [条件语句];then

elif [条件语句];then


else

fi

4.7.3 select语句

格式:
select 变量 in 列表
do

[break]
done

!! 如果不写break无法退出select语句

4.7.4 switch-case语句

格式:
case var in
选项1)…;;
选项2)…;;
选项3)…;;

*)…
esac
exit 0

4.8 循环语句

4.8.1 for循环

格式:
for 变量 in 变量列表 do

done

4.8.2 while循环

格式:
while [ 表达式 ]
do

done

4.8.3 until循环

格式:
until [ 表达式 ]
do

done

五、Shell脚本调试

  1. 不执行脚本,仅检查语法:-n
  2. 执行脚本过程中,打印执行的脚本命令:-v
  3. 将用到的脚本内容打印到屏幕上:-x

六、Shell函数

格式:
[function] 函数名[()]
{

[return int]
}

  1. []表示内容可省略
  2. 函数中定义的变量是全局变量,可用local定义局部变量

你可能感兴趣的:(系统编程)