shell参数读取实例:
#!/usr/bin/env bash
# u参数表示是否大小,m参数表示要输出的信息
usage() { echo "Usage: $0 [-u] [-m <msg>]" 1>&2; exit 1; }
# getopts 解析脚本命令行选项
while getopts ":um:" o; do
case "${o}" in
u)
upper=true
;;
m)
msg=${OPTARG}
;;
*)
usage
;;
esac
done
# 参数左移
shift $((OPTIND-1))
# -z 表示判断是否为空字符串
if [ -z "$msg" ]; then
msg="test"
fi
# -n 表示判断是否为非空字符串
if [ -n "$upper" ]; then
echo $msg | tr 'a-z' 'A-Z'
else
echo $msg
fi
这是一个输出信息的脚本,带上-u
参数就将信息大写输出,如:
> ./test.sh -u -m hello
HELLO