我想让conky变量只"打开";在一定条件下。我尝试了如下的测试语句
${exec test -e /home/viridian/conky.conf && echo "yes" || echo "${goto 35}MOCEX : ${color}${fs_used /home/viridian/mocex}/${fs_size /home/viridian/mocex} ${alignr}${fs_used_perc /home/viridian/mocex}% ${fs_bar 4,100 /home/viridian/mocex}"}
实际上应该发生的是,我将复制的conf文件放在目录中,它将显示"yes"。这部分是有效的。当我将它移出时,它将显示我已经布局的变量。这行不通。它是不可能显示这样一个变量还是我做错了什么?
$exec
的输出不会被conky解析,因此您不能在回显中使用$color
这样的命令,因为它只会显示为文本"$color"。在您的示例中,您实际上看不到任何东西,因为shell正在抱怨${fs_used /home/viridian/mocex}
的语法,因为它将其解释为变量替换(${variable/pattern/replacement}
)。你应该用单引号而不是双引号。
${if_existing /home/viridian/conky.conf} yes
${else} ${goto 35}MOCEX : ${color}...
${endif}
效果很好,你解释得很好