当我启动我的bash
脚本时:
$ ./mybashscript.sh
如果我希望能够在执行上述命令时为变量附加值,我该如何在其中定义变量?例如,如果我使用 .sh 文件记录条目,我该如何在其中声明变量 day、month 和 year?
$ ./EventDateLog.sh -day=17 -month=2 year=2019
答案1
如果您对短名称变量没有异议,我认为最简单的方法是使用getopts
如下方法:
#!/bin/bash
while getopts :d:m:y: FLAG; do case $FLAG in
d) # set day
DAY=$OPTARG
;;
m) # set month
MONTH=$OPTARG
;;
y) # set year
YEAR=$OPTARG
;;
\?) # unrecognized option - show help
echo "your help message here"
exit 0
;;
esac
done
# the rest of your program here handling your variables
echo "$DAY" "$MONTH "$YEAR"
例子
$ ./EventDateLog.sh -d 17 -m 2 -y 2019
17 2 2019