shell script:将一堆linux命令集放在一个文件中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| a=10 b=3 c=`expr $a + $b` echo $c echo "Hello"
|
判断符号
1 2 3 4 5
| > -gt //greater than < -lt //less than <= -le //less equal >= -ge = -eq
|
条件判断:
判断a b中的最大值
1 2 3 4 5 6 7 8
| a=10 b=3 if [ $a -gt $b ] then echo $a else echo $b fi
|
循环语句:
1 2 3 4 5 6 7 8 9 10 11
| for x in 1 2 3 4 5 6 7 8 9 do echo $x done
x=1 while [ $x -le 10 ] do echo $x x=`expr $x + 1` done
|
字符串:
1 2 3 4 5 6 7 8 9 10 11
| a="hello" b="world" echo $a $b
read a read b c=`expr $a + $b` echo $a + $b = $c
|
比较字符串用一个等于号就行
不等用!=
1 2 3 4 5 6 7 8
| password="hello123" read user if [ $user = $password ] then echo "密码正确" else echo 密码错误 fi
|
字符串拼接:
1 2 3
| str1="hello" str2="world" str3="$str1 + $str2"
|
判断字符串是否长度为0:
1 2 3 4 5 6 7 8 9
|
str1="" if [ -z $str1 ] then echo "字符串长度为0" else echo "字符串长度不为0" fi
|
数组:
传统shell脚本不支持数组,但bash可以运行数组
执行命令:bash test.sh
1 2 3 4 5 6 7 8 9 10
| arr=(7 8 9 10) echo $arr
echo ${arr[1]}
for i in ${arr[@]} do echo $i done
|
全局变量
1 2 3 4 5 6 7
|
echo $USER
echo $HOME
echo $PATH
|
添加环境变量
Linux下的环境变量用:分开,不同于windows
创建一个c程序
1 2 3
| vim example.c gcc example.c -o example ./example
|
要想在其他文件夹下也可以执行这个文件,就需要将example所在目录设置为全局变量
在原来的PATH下增加新变量
1
| PATH~$PATH:/home/ubuntu/workspace
|