bash编程语法
bash编程语法
-
变量命令规则
- 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
- 中间不能有空格,可以使用下划线(_)
- 不能使用标点符号
- 不能使用bash里的关键字(可用help命令查看保留关键字)
-
定义变量
name="paul"
-
打印变量
echo $name
-
readonly name
把name变成只读变量 -
unset name
删除变量,不能删除只读变量 -
变量类型
- 整数
number=1
- 字符串
name="paul george"
echo ${#name}
获取字符串长度echo ${name:0:4}
提取子串,大于0小于等于4
- 字符串拼接
greeting="hello, "$name""
- 数组
my_array=(0, 1, "2", 3)
定义数组my_array[0]=1
数组直接赋值${my_array[1]}
数组取值,默认从0开始echo ${my_array[*]}
查看数组所有值echo ${#my_array[*]}
查看数组的长度
- 整数
-
控制语句
- if语句
- 数字判断,-gt是大于,-lt是小于,-eq是等于,-ne是不等于,-ge是大于等于,le是小于等于
#!/bin/bash a=10 b=10 if [ $a -eq $b ] then echo "equal" elif [ $a -lt $b ] then echo "small" elif [ $a -gt $b ] then echo "big" else echo "OK" fi
- 字符串比较
#!/bin/bash a="hello world" b="hello w orld" if [ "$a" = "$b" ] then echo "a is same as b" else echo "a is different from b" fi
- 数字判断,-gt是大于,-lt是小于,-eq是等于,-ne是不等于,-ge是大于等于,le是小于等于
- for语句
- for循环
#!/bin/bash for loop in 1 2 3 4 do echo "hello" done
- for循环读取文件,一行当中比如
123 abc
,会被读取成两个ifor i in $(cat test.txt) do echo $i; done
- for循环
- while语句
- while循环
#!/bin/bash int=1 while (($int<=5)) do echo $int let "int++" done
- while循环读取文件,一行一行读取
#!/bin/bash while read line do echo $line done<test.txt
- while循环
- if语句
我在想我要不要写一句励志的话......