我们在编写shell脚本的时候经常用到需要用户都某些参数进行选择或者直接获取用户的输入信息,以下就是实现示例
#!/bin/sh
# 获取当前工作目录
WORK_DIR="$(cd $(dirname $0) >/dev/null 2>&1 && pwd )"
[ -d "${WORK_DIR}" ] || { echo "FATAL: no current dir (maybe running in zsh?)"; exit 1; }
# 从控制台读取用户的输入后赋值给变量 choice
read -p $"Command: [y/n] > " choice
# 根据用户输入来进行case选择
case "$choice" in
y|Y )
echo ""
echo "你的选择为: ${choice}"
echo ""
;;
n|N )
echo ""
echo "Not executed."
echo "你的选择为: ${choice}"
echo ""
;;
* )
echo ""
echo "Invalid Choice. Type y or n."
echo ""
;;
esac
上面示例 运行后就会提示用户输入 y/n 然后将用户的输入赋值给变量 choice. 后面在使用 case语句来对用户输的数据进行判断 y|Y 这个的意思是用户输入的 大小写y都会进入当前分支, 这里的|是或的意思.