linux - bash CLI 参数设置脚本变量吗?

标签 linux bash variables parameters

我正在尝试编写一个脚本,以便传递的 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/

相关文章:

arrays - 将命名数组传递给另一个 bash 脚本

linux - 水平显示多个 bash 输出

python - curl 命令中文/日文 url 编码

java - java中获取字符串的变量值

ruby - 如何在Linux上使用Ruby实现实时USB存储检测?

linux - 在 bash 中替换/更新文本文档中的列值

linux 在特定索引处折叠文件

java - 在 Eclipse 中使用数组没有未使用的变量警告

.NET DBNull 与所有变量类型都没有?

linux - 如何使用 bash 中程序的输出重命名文件?