How to assign text following command to a variable in bash
本问题已经有最佳答案,请猛点这里访问。
DR如何将命令后面的文本分配给bash中的变量?
例如:/path/to/script[value to assign to variable]
我正在写一个脚本,它基本上从一个dig和whois中过滤出我喜欢的格式的信息。现在,我已经设置了它,将用户输入分配给我要查询的域的变量。我用"读"来做这个。所以看起来:
read-p"域:"域
这需要运行命令,然后放入域中,而我希望将域放在命令之后,类似于执行普通挖掘或whois时所做的操作。
例如:/脚本google.com
我认为这并不太复杂,而是将stdin(0)重定向到变量的问题。尽管我不知道该怎么做。
命令行参数已分配给变量1、2、3、4…只需1美元2美元就可以访问它们。例如
1 | echo"argument one is $1" |
也可以指定给另一个变量
1 | site=$1 |
您在bash中将cli参数读取为与awk非常类似的有序索引。
因此,如果您的脚本被称为
1 | $ better-dig.sh google.com |
在脚本中,您必须捕获参数google.com在$1内,scriptname在$0内。
然后:
1 2 3 | #!/bin/bash echo"hi I'm $0 - will call dig with $1" dig $1 | awk 'the rest of your script' |
命令行上的参数显示为$1,$2…