shell 脚本编程基础
条件选择: if 语句
选择执行:
注意: if 语句可嵌套
单分支
if(开头)判断条件; then
条件为真的分支代码
fi(结尾)
双分支
if(开头)判断条件; then
条件为真的分支代码
else: 其他
条件为假的分支代码
fi(结尾)
多分支
输入年龄显示相对应设置的 shell 脚本:
- read -p "Please input yourage:" AGE
- if [[ ! $AGE =~ ^[0-9]+$ ]];then
- echo "$AGE is not a digit"
- exit
- elif [ $AGE -lt 18 ];then
- echo "study hard"
- elif [ $AGE -lt 60 ];then
- echo "work hard"
- elif [$AGE -lt 150 ]:then
- echo "enjoy life"
- else
- echo "welcome to earth"
- fi
条件判断: case 语句
举个栗子: 输入 1-9, 反馈(1,3,5)(2,4,6)(7,8,9) , 除此之外, 如输入 1-9 以外的数字, 则反馈 other.
- case$1 in
- 1|3|5)
- echo 1,3,5
- ;;
- 2|4|6
- echo 2,4,6
- ;;
- 7|8|9
- echo 7,8,9
- ;;
- *)
- echo other
- esac
编辑配置文件生效
修改 profile 和 bashrc 文件后需生效
两种方法:
1, 重新启动 shell 进程
2,. 或者 source
例:.~/. bashrc
$ 变量
echo $- : 显示 himBH
h:hashall, 打开此选项后, Shall 会将命令所在的路径 hash 下来, 避免每次都要查询. 通过 set +h 将 h 选项关闭, set -h 开启选项.
i:interactive-comments, 包括
B 花括号扩展
H history 历史命令, H 选项打开, 可以展开历史列表中的命令, 可以通过! 感叹号来完成, 例如 "!!" 返回最近的一个命令, "!n" 返回第 n 个历史命令
脚本安全
set 命令
-u 在扩展一个没有设置的变量时, 显示错误信息
等同 set -o nounset
-e 如果一个命令返回一个非 0 退出状态值 (失败) 就退出
等同 set -o errexit
来源: http://www.bubuko.com/infodetail-3072636.html