我想制作一个脚本,在其中我可以在参数中提及 matchid,然后它会选择变量的值,如下所示
1=IND vs PAK
2=SA vs SL
3=AUS vs ENG
就像我运行脚本时一样
./match.sh --matchid 2
它给出的输出为
SA vs SL
编辑:如果我必须将其分配给变量而不是输出怎么办?
答案1
听起来你想通过存储在另一个变量中的名称来引用一个变量。下面是我在 Stack Overflow 上发现的一个问题。
简而言之:
$ FOO='value of foo'
$ BAR='value of bar'
$ NAME=FOO
$ echo ${!NAME}
value of foo
答案2
您可以从中构建一个捕获命令行参数的小示例:
#!/bin/bash
firstparam=$1
secondparam=$2
if [[ $firstparam = "--matchid" ]]; then
echo -e "You selected to match the id\r"
fi
case $secondparam in
1) echo -e "Samson VS Goliath\r"
;;
2) echo -e "Peanuts VS GArfield\r"
;;
esac
只需在提示中使用即可:yourscript.sh --matchid 1