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处理同样一个文件处理方式有所不同

posted @ 2020-12-01 23:32  SpongeD  阅读(143)  评论(0编辑  收藏  举报