如何通过在命令行中输入数字来设置变量

如何通过在命令行中输入数字来设置变量

我想制作一个脚本,在其中我可以在参数中提及 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

相关内容