变量
dog_name="Tom"
echo $dog_name
只读变量
a="dady"
readonly a
删除变量
unset variable_name
unset a
注意,不能删除只读变量,需要关闭bash窗口,重新打开后才能删除
变量类型
字符串:your_name="baihuajiang"
拼接字符串:greeting="hello,"$your_name"!"
数组array_name(value0 value1 value2 value3)
取数组valuen=${array_name[n]}
单独赋值array_name[0]=value0
练习1:数组初始化
my_array=(A B "C" D e)
echo "第一个元素为:${my_array[0]}"
echo "第4个元素为:${my_array[3]}"
echo "第5个元素为:${my_array[4]}"
echo "所有的元素为:${my_array[*]}"
echo "所有的元素为:${my_array[@]}"
练习2:数组单个定义
my_array[1]=BB
echo "数组的元素为:${my_array[*]}"
echo "数组的元素为:${my_array[@]}"
控制语句
if定义
if condition 条件
then执行命令
fi 结束
例子:
if [ 2 == 2 ]; then echo "true"; else echo "false"; fi
if [[ 2 > 1 ]]; then echo "true"; else echo "false"; fi
if和中括号之间要有空格,中括号与表达式之间要有空格,表达式每个字符之间必须有空格
练习
a=10
b=20
if [ $a -eq $b ];then echo "equal";elif [ $a -lt $b ];then echo "small";elif [ $a -gt $b ];then echo "big";fi
a=10
b=10
输出equal
a=20
b=10
输出big
for循环
定义
例子:
for loop in 1 2 3 4 5 6;do echo "hello";echo $loop;done
输出6个hello
练习1:循环读取文件内容并输出
for i in $(cat test.txt);do echo $i;done
输出每行内容
for i in $(cat test.txt);do echo "a"$i;done
输出的内容每行前面都有个“a”
while循环
定义
例子:
int=1;
while(( $int<=5 ));do echo $int;let "int++";done
输出
1
2
3
4
5
练习2:循环读取文件内容并输出
while read line;do echo $line;done<test.txt
while read i;do echo $i;done<test.txt