Linux 如何将命令的输出放在bash变量中

Linux 如何将命令的输出放在bash变量中,linux,bash,shell,Linux,Bash,Shell,我想将命令的输出放在bash变量中,然后在其他命令中进一步使用该变量 假设我想要这样的东西 ls |$(variable)|awk'/$variable/{print“here”}我不知道这样一步就可以轻松完成,但我不知道你为什么要将它传输到awk并在脚本中使用它。这是两步版本,但我不确定它的功能: 您可以尝试: variable=$(ls); awk "/$variable/"'{print "here"}' 注1:/$variable/用双引号括起来,否则它不会被命令的输出所取代 注2:上

我想将命令的输出放在bash变量中,然后在其他命令中进一步使用该变量

假设我想要这样的东西


ls |$(variable)|awk'/$variable/{print“here”}

我不知道这样一步就可以轻松完成,但我不知道你为什么要将它传输到
awk
并在脚本中使用它。这是两步版本,但我不确定它的功能:

您可以尝试:

variable=$(ls); awk "/$variable/"'{print "here"}'
注1:
/$variable/
用双引号括起来,否则它不会被命令的输出所取代

注2:上述命令可能会失败,因为
ls
的输出可能包含“/”或换行符,这将中断
awk
命令。根据您的目标,您可以将
ls
更改为类似于
ls | tr'\n''| tr-d'/'| sed's/*$//g'
(将所有换行符替换为空格;删除所有斜杠;删除尾部空白)


注3:为了避免变量赋值污染当前shell的环境,可以用括号将上述命令括起来,即
(variable=$(some_command);awk/$variable/“{print”here”}”)

要将命令输出放入变量,可以在bash中使用以下格式

variable=`pwd`
echo $variable

背虱


这对我来说更容易,因为它可以在任何shell或perl中工作。实际上,我希望用一行代码来完成。有什么办法吗?嗯,你可以放一个
。为什么它需要一个单一的管道?你需要一个更好的例子来解决这个问题。当前的一个没有任何意义。我们真的需要看一看。样本输入,2。所需输出,3。实际产出4。您试图解决实际问题的代码。祝你好运
variable=`pwd`
echo $variable
now=`date`