我正在尝试编写一个脚本,以便传递的 cli 参数根据该输入设置一个变量。输入可以是脚本中定义的多个不同选项。
假设这些变量:
GROUP1 = user1 user2
GROUP2 = user2 user3 user4
GROUP3 = user2 user5 user6
正在运行
./script.sh GROUP2
然后设置一个名为 GROUP = user2 user3 user4 的变量。
我希望上述命令能够将名为“GROUP”的变量设置为等于基于传递的 cli 参数定义的变量之一。
我相信这可以通过参数替换来实现,但我一直不知道如何实现。对于 bash 脚本来说还是个新手,因此我们将不胜感激。 谢谢。
最佳答案
你的意思是变量间接(参见 man bash):
#!/bin/bash
GROUP1="user1 user2"
GROUP2="user2 user3 user4"
GROUP3="user2 user5 user6"
echo ${!1}
$ script.sh GROUP2
user2 user3 user4
也要小心引号和空格。
关于linux - bash CLI 参数设置脚本变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40251622/