码迷,mamicode.com
首页 > 其他好文 > 详细

Bash编程语法

时间:2020-12-07 12:02:22      阅读:4      评论:0      收藏:0      [点我收藏+]

标签:comm   大小   load   例子   比较   命令   dba   ++   初始   

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

Bash编程语法

标签:comm   大小   load   例子   比较   命令   dba   ++   初始   

原文地址:https://www.cnblogs.com/tester-D/p/14041559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!