Shell脚本 : 将之前的命令集合到一起
- 运行 sh 文件名.sh
- 变量
a=10 #给变量进行赋值的时候,"="左右两边不能加空格
echo "A = " $a #在shell中,使用变量前面要加上"$"
echo "Hello World" #字符串这里加不加双引号都行,但是加上更好看
b=20
echo "B = " $b
# !!!运算符左右两边一定要加空格!!!
c=`expr $a + $b` # expr用来计算一个式子用"`"括起来
echo "C = " $c
#c=`expr $a * $b` 这里表达式是错误的,因为这里"*"是正则表达式中的闭包,则这里出现错误
c=`expr $a \* $b` #加上转义字符正常进行运算,同时"("")"也要加上转义字符
- if语句
a=10
b=20
# 输出a、b中相对较大的元素
if [ $a -gt $b ] # 这里"[ $a"之间必须要有空格
then echo $a
else echo $b
fi
#在判断数字的大于小于的时候,用-gt,-lt,-ge,le, eq, ne
# gt : greater than
# lt : less than
# ge : greater or equal to
# le : less or equal to
# eq : equal to
# ne : no equal to
循环语句
for x in 1 2 3 4
do
echo $x
done
x=1
while [ $x -le 10 ] # 条件
do
echo $x
x=`expr $x + 1`
done
输入
echo "Please enter a"
read a # 输入a
echo "Please enter b"
read b # 输入b
c=`expr $a + $b` # 计算a + b
echo $c
字符串比较
password="123456"
echo "Plesse enter a password"
read userPassward
if [ $password = $userPassward ]
then
echo "密码正确"
else
echo "密码错误"
fi
字符串拼接
str1="Hello"
str2="World"
str3="$str1 $str2" 5
echo $str3
判断字符串是否为空
str1="Hello"
# 判断字符串是否为空
if [ -z str1 ]
then
echo "str1 空"
else
echo "str1 不空"
fi
# 判断字符串是否不为空
if [ -n str1 ]
then
echo "str1 空"
else
echo "str1 不空"
fi
包含数组——用bash运行
arr=(7 8 9 10)
echo ${arr[2]} # 打印出数组下标2位置的元素,shell中数组也是从0开始的
for i in ${arr[@]}
do
echo $i
done