bash编程语法
- 变量
- 控制语句
- if
- for
- while
变量规则
定义与使用变量
your_name="abc"
echo $your_name
只读变量
a="123"
readonly a
删除变量
unset your_name
注意⚠️不能删除只读变量
但是关掉当前编辑窗口,再打开,只读变量就不生效了,所以变量的范围就在当前窗口;
变量类型
字符串:your_name="abc"
拼接字符串 : greeting="hello,$your_name"!
数组:array_name=(1 2 3 4) ⚠️中间没有逗号,是以空格分隔开
取数组 : value=${array_name[2]}
单独赋值 : array_name[0]=8
打印全部数组元素: echo ${my_array[*]}
if定义
if condition
then
command 1
command 2
.....
fi (结束)
例子
1.if [ 2 == 2 ]; then echo "true";else echo "false";fi 注意⚠️一定注意空格,if(空格)[()2()==()2];
2.if [[ 2 < 1 ]]; then echo true;else echo false;fi 注意⚠️ 一定要加[[ 2 < 1]],不然运算错误
3.比较两个变量的大小并输出不同的值
a=12
b=10
if [ $a -gt $b ];then echo "bigger";elif [ $a -eq $b ];then echo "equal";else echo "smaller";fi
-eq等于 -lt小于 -gt大于
for定义
for loop in 1 2 3 4 5
do
echo "hello"
done
将test.txt中的单词一行行打印出来
for i in $(cat test.txt);do echo $i;done
还可以前面加上字符
for i in $(cat test.txt);do echo 123$i;done
while定义
1.打印11-17;
while (($int<18));do echo $int;let "int++"; done 注意let "int++"而不是"$int++"
2.循环读取文件内容并输出
while read i;do echo $i;done<test.txt 注意⚠️<test.txt
一行一行的读,与for循环类似