shell 脚本编程学习第一天
A、编写一个脚本,显示下面菜单:
- Display list of all users currently logged in
- Get help on a particular command
Press <Ctrl+D> to exit
如果选择1,显示当前登录的用户信息;若选择2,要求从键盘上输入一个命令名,并显示该命令的帮助信息;如果没有数据输入,脚本要先显示错误并退出。
代码:
#!/bin/bash
echo "1. Display list of all users currently logged in."
echo "2. Get help on a particular command."
echo "Press <Ctrl+D> to exit."
read ch
case $ch in
1) echo who;;
2) echo "Enter a command name:"
read comm
if test -z "$comm"
then exit
else
man "$comm"
fi;;
*)echo "INVALID CHOICE"
esac
遇到的问题:
- echo 后面一定要有空格
- case的每一个条件后要有;;
-
- 可以代表除了以上条件的所有条件。
- test:用于检查某个条件是不是成功。
字符串测试:
= 等于则为真 ;!= 不相等则为假;
-z 字符串长度为0为真
-n 字符串长度非0为真
数值测试:
-eq 等于为真; -ne 不等于为真
-gt 大于为真; -ge 大于等于为真
-lt 小于为真; le 小于等于为真