我有一个非常简单的脚本,如下所示:

#!/bin/bash

VAR1="$1"
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'

echo $MOREF

当我从命令行运行这个脚本并将参数传递给它时,我不会得到任何输出。但是,当我运行$MOREF变量中包含的命令时,我能够获得输出。
如何获取需要在脚本中运行的命令的结果,将其保存到变量中,然后在屏幕上输出该变量?

最佳答案

除了backticks`command`之外,您还可以使用$(command)"$(command)",我觉得它更容易阅读,并且允许嵌套。

OUTPUT="$(ls -1)"
echo "${OUTPUT}"

MULTILINE=$(ls \
   -1)
echo "${MULTILINE}"

引用(")对保留多行值很重要。

关于bash - 如何在Bash中将变量设置为命令的输出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46782894/

10-16 22:08