我有一个非常简单的脚本,如下所示:
#!/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/