【发布时间】:2014-07-24 05:08:56
【问题描述】:
TL;DR 如何将命令后面的文本分配给 bash 中的变量?
例如:/path/to/script [分配给变量的值]
我正在编写一个脚本,该脚本基本上以我喜欢的格式从 dig 和 whois 中过滤掉信息。现在,我将其设置为将用户输入分配给我要查询的域的变量。我正在使用“读取”来执行此操作。所以它看起来像:
read -p "Domain:" 域
这需要运行命令然后输入域,而我想将域放在命令之后,类似于您在执行普通 dig 或 whois 时所做的。
如: ./script google.com
我想它并不太复杂,它只是将 stdin(0) 重定向到一个变量的问题。虽然我不确定如何做到这一点。
【问题讨论】:
-
通常只是一个普通的
key=value对,比如MYVARIABLE=$(read -p "Domain:" domain)会将read -p ...的结果保存回MYVARIABLE。 -
通过“读取”的设置方式,它已经将我的输入分配给 $domain 的变量,而无需进行配对。我希望能够将域放在命令之后并让它将该值分配给一个变量,所以它是一步而不是两步。
-
完美,谢谢@Pavel