【问题标题】:test statement and conky variables测试语句和 conky 变量
【发布时间】:2021-02-08 05:10:21
【问题描述】:

我试图让一个 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 文件放在目录中,它会显示“是”。这部分有效。当我将其移出时,它将显示我布置的变量。这行不通。不能以这种方式显示变量还是我做错了什么?

【问题讨论】:

    标签: bash conky


    【解决方案1】:

    $exec 的输出不会被 conky 解析,所以你不能在 echo 中使用像$color 这样的命令,因为它只会显示为文本“$color”。在您的示例中,您实际上不会看到任何内容,因为 shell 正在抱怨 ${fs_used /home/viridian/mocex} 的语法,因为它将其解释为变量替换 (${variable/pattern/replacement})。您应该使用单引号而不是双引号。

    但是,conky 有一个特殊的命令来测试文件是否存在,所以你应该使用它,例如:

    ${if_existing /home/viridian/conky.conf}  yes
    ${else}   ${goto 35}MOCEX : ${color}...
    ${endif}
    
    

    【讨论】:

      【解决方案2】:

      这很好,你解释得很好

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-20
        • 1970-01-01
        • 1970-01-01
        • 2013-10-12
        • 1970-01-01
        • 1970-01-01
        • 2018-10-31
        • 1970-01-01
        相关资源
        最近更新 更多