关于linux:如何将命令中的文本分配给bash中的变量

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非常类似的有序索引。

因此,如果您的脚本被称为better-dig.sh,则在发布时:

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…