Bash编程语法
1.变量
(1)规则
- 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
- 中间不能有空格,可以使用下划线(_)
- 不能使用标点符号
- 不能使用bash里的关键字(可使用help命令查看保留关键字)
(2)定义与使用变量
只读变量
删除变量
注:不能删除只读变量
(3)变量类型
- 字符串:my_name="DbA"
- 拼接字符串:greeting="hello,"$my_name"!"
- 数组:array_name=(value0 value1 value2 value3)
取数组:valuen=${array_name[n]}
单独赋值:array_name[0]=value0
例子
1.数组初始化:
- my_array=(A B "C" D)
- echo "第一个元素为${my_array[0]}"
*和@代表数组中的所有元素
2.数组单个定义:
- my_array[1]=B
- echo "数组的元素为:${my_array[*]}"
- echo "数组的元素为:${my_array[*@}"
2.控制语句
(1)if
定义
if condition then command1 command2 ...... commandN fi
例子
if [ 2==2 ];then echo "true";else echo "false" ;fi if [[ 2 > 1 ]];then echo "true";else echo "false" ;fi
用>或<时使用双中括号,用下列运算符表示时用中括号即可(为避免出错,最好使用下列运算符)
大于 -gt (greater than)
小于 -lt (less than)
大于等于 -ge (greater than or equal)
小于等于 -le (less than or equal)
不相等 -ne (not equal)
等于:-eq (equal)
1.比较两个变量的大小并输出不同的值
if [ $a -eq $b ]; then echo "equal"; elif [ $a -lt $b ]; then echo "small"; elif [ $a -gt $b ];then echo "big";fi
(2)for
定义
for var in item1 item2 .... itemN do command1 command2 .... commandN done
例子
循环读取文件内容并输出
for i in $(cat test.txt);do echo $i;done
(3)while
定义
while condition do command done
例子
int=1 while(($int<=5)) do echo $int let "int++" done #int小于等于5时循环上述语句进行自加,直到大于5后跳出循环换
循环读取文件内容并输出
while read line;do echo $line;done<test.txt
明显可以看到while和for处理同样一个文件处理方式有所不同