Bash命令在变量中不执行



我有两个命令,我想在变量中关闭:

val=`awk -F """ '{print $2}' ~/.cache/wal/colors-wal-dwm.h | sed -n -e 1,3p -e 5,7p`
dummy=`printf "dwm.normfgcolor:ndwm.normbgcolor:ndwm.normbordercolor:ndwm.selfgcolor:ndwm.selbgcolor:ndwm.selbordercolor:")`

他们基本上打印一些东西。我想合并输出与粘贴命令(这不起作用):

paste <($dummy) <($val)

我想避免临时文件,但在这一点上,我没有想法。提前谢谢。

$dummy

是一个变量,而不是要执行的命令。echo为命令。printf是另一个命令

paste <(echo "$dummy") <(echo "$val")

不要使用反号-$(..)代替。使用shellcheck检查脚本。你的代码对我来说有点不可读…如果你不关心变量,就不要使用它们。

awk -F '"' '{print $2}' ~/.cache/wal/colors-wal-dwm.h |
sed -n -e 1,3p -e 5,7p |
paste <(
printf "dwm.%s:n" 
"normfgcolor" 
"normbgcolor" 
"normbordercolor" 
"selfgcolor" 
"selbgcolor" 
"selbordercolor"
) -