xshell是操作linux服务器的一个常用工具,sh脚本可以方便的处理一些工作。shell脚本可以以.sh结尾(或者php等其它后缀表示),比较常用的是bash。 bash需要在第一行指定解释器,当然不指定也可以,但是不指定的话,运行时需要指定/bin/sh XX.sh
#!/bin/bash
1. 语法基础
语法基础参考:https://www.runoob.com/linux/linux-shell.html,此处仅列出部分常用的
1.1 变量
sh脚本的变量一般会加上{}
for skill in Ada Coffe Action Java; do
echo "I am good at ${skill}Script"
done
echo:输出,打印 输出重定向,采用cmd > file,将命令输出到指定文件,这个在dockerfile编写中常常会用到
echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
readonly:赋予变量只读 unset:删除变量
1.2 运算符
expr:表达式计算工具
val=`expr 2 + 2`
echo "两数之和为 : $val"
val=`expr $a \* $b`
echo "a * b : $val"
if [ $a == $b ]
then
echo "a 等于 b"
fi
if [ $a != $b ]
then
echo "a 不等于 b"
fi
1.3 流程控制
常用的如下,和一般编程语言的语法相差不大
- if … else … fi
- for … do … done
- while … do … done
- case … esac
case语法的示例如下:
echo '输入 1 到 4 之间的数字:'
echo '你输入的数字为:'
read aNum
case $aNum in
1) echo '你选择了 1'
;;
2) echo '你选择了 2'
;;
3) echo '你选择了 3'
;;
4) echo '你选择了 4'
;;
*) echo '你没有输入 1 到 4 之间的数字'
;;
esac
1.4 函数
funWithReturn(){
echo "这个函数会对输入的两个数字进行相加运算..."
echo "输入第一个数字: "
read aNum
echo "输入第二个数字: "
read anotherNum
echo "两个数字分别为 $aNum 和 $anotherNum !"
return $(($aNum+$anotherNum))
}
funWithReturn
echo "输入的两个数字之和为 $? !"
|