8. 结构化语句

主要分为 条件语句 和 循环语句:

if 条件语句

if条件语句的常见格式(其中 if 后面所带的 command 为判断条件,条件为真执行 then 后面的 commands,条件为假则执行 else 后面的 commands)
image.png
image.png
image.png
if条件语句的常见条件数值判断、字符串判断、文件判断
数值判断:

用法 解释
[ INT1 -eq INT2 ] INT1 和 INT2 两数相等返回为真
[ INT1 -ne INT2 ] INT1 和 INT2 两数不等返回为真
[ INT1 -gt INT2 ] INT1 大于 INT2 返回为真
[ INT1 -ge INT2 ] INT1 大于等于 INT2 返回为真
[ INT1 -lt INT2 ] INT1 小于 INT2 返回为真
[ INT1 -le INT2 ] INT1 小于等于 INT2 返回为真

字符串判断:

用法 解释
[ -z STRING ] 如果STRING的长度为零则返回为真,即空是真
[ -n STRING ] 如果STRING的长度非零则返回为真,即非空是真
[ STRING1 ] 如果字符串不为空则返回为真,与-n类似
[ STRING1 == STRING2 ] 如果两个字符串相同则返回为真
[ STRING1 != STRING2 ] 如果字符串不相同则返回为真
[ STRING1 < STRING2 ] 如果 STRING1字典排序在STRING2前面则返回为真。> 同理

文件判断:

用法 解释
[ -a FILE ] 如果 FILE 存在则为真
[ -d FILE ] 如果 FILE 存在且是一个目录则返回为真
[ -f FILE ] 如果 FILE 存在且是一个普通文件则返回为真

示例:

  • 如果不存在 ok.txt 这个文件,就创建一个名为 ok.txt 的文件

image.png

for 循环语句

常见的格式:
image.png
示例:
image.png
image.png

while 循环

常见格式:
image.png
示例:

  1. $ cat config
  2. sample1
  3. sample2
  4. sample3
  5. $ cat config | while read id
  6. do
  7. touch $id
  8. done