bash编程语法

bash编程

  • 变量
  • 引号
  • 数组
  • 控制语句
    • if
    • for
    • while
  • 函数

bash变量

变量命名规则

  • 只能使用字母、数字和下划线,且不能以数字开头
  • 中间不能有空格,可以使用_代替
  • 不能使用特殊字符
  • 不能使用bash关键字(可以使用help查看保留关键字)
  • 变量名区分大小写,a和A是两个不同的变量
  • 变量名可以使用大小写混编的形式进行编写
  • 变量和值之间的=两侧都不能为空
  • 在读取或打印变量时,需使用$+变量名
  • 变量可以在写在bash脚本中的任何地方,在运行时,bash会自动将其替换为对应的值

定义与使用变量

  • 定义变量:my_name = “abc”
  • 使用变量:echo &my_name

只读变量

只读变量只能读,不能更改删除

a = "123"
readonly a 

删除变量

unset my_name

变量类型

  • 字符串:name=“hogwarts”
  • 拼接字符串:hi = “hello,”$name"!"
  • 数组:array_name = (value0 value1 value2)
    • 取数组 value1 = ${array_name[1]}
    • 单独赋值 array_name[0] =value0

控制语句

if

  • if [a==b];代码块;else 代码块;fi
  • if [[ a>b]];代码块; else 代码块;fi
  • -gt -lt 可以只用一个中括号
a=10
b=20
if [ $a -eq $b ] ;then echo "a 等于 b";
elif [ $a -gt $b ]; then echo " a 大于 b";
elif [ $a -lt $b ]; then echo "a 小于 b";
fi

for循环

for var in item1 item2 item3 itemN
do
   cmd1
   cmd2
done

while循环

while condition
do
   cmd
done

a =1
while (($a <5))
do
   echo $a
   let "a++"
done

while read i; do echo $i ; done<test.txt