【发布时间】:2020-01-21 00:29:37
【问题描述】:
我正在编写一个脚本,它接受决定进一步执行的参数。参数是完整的单词 (script.sh guess) 和它们的快捷方式 (script.sh g)。
注释行是我找到的第一种方式,第二条if 是 my 更灵活的方式。无论如何,我很想听听有经验的人的意见。
另外,我想知道。有没有办法构建正则表达式,使其只需要g 或guess,而不是gue 等部分?
#if [[ $1 == guess || $1 == g ]]; then
if [[ $1 =~ [guess] ]]; then
printf "You won!"
else
printf "You lost!"
fi
您的首选方法是什么?我似乎找不到合适的术语来让大 G 在这里找到答案。
【问题讨论】:
-
case "$1" in g|guess)?我相信=~ [guess]不会像你想的那样做。 -
@KamilCuk 你是对的,它没有。它接受包含列表
[guess]的任何成员的任何参数。我完全错过了,也没有测试过。case按预期工作。谢谢。