我正在使用 arch 和 bash。一切都是最新的。
我有这个命令,效果很好
yad \
--timeout=2 \
--undecorated \
--posx=1200 --posy=633 \
--title=" " \
--window-icon='/home/$USER/.local/share/file-manager/spanner_white.png' \
--no-buttons \
--no-focus \
--text="All print jobs cancelled"; # This is a comment
;
显然,我可以在命令末尾的后面发表评论,如图所示。
然而,有没有一种方法可以让我在每次发表评论后发表评论,\
似乎并非如此,但可能我只是不知道如何做。
如果不能完成此操作,bash
可以使用zsh
或任何其他 shell 来完成。
答案1
不,行尾的反斜杠作用于下一个字符,即换行符(将其删除)。如果添加空格和#
字符,反斜杠将作用于空格(引用它),而不是换行符。您也不能在行尾添加注释然后反斜杠字符,因为该注释将有效地注释掉连续行的其余部分。
您可以做的是为参数创建一个数组,并在执行时注释它的各个部分,然后在对实用程序的调用中使用它:
yad_args=(
# A timeout of 20 is used in testing; production uses 2.
#--timeout=20
--timeout=2
--undecorated # We don't want decorations.
--posx=1200 --posy=633
--title=" " # Spacey title.
--window-icon="${XDG_DATA_HOME:-$HOME/.local/share}"/file-manager/spanner_white.png
--no-buttons
--no-focus # No focus for you!
--text="All print jobs cancelled"
)
yad "${yad_args[@]}"
在声明数组的每个元素时yad_args
,可以在行尾添加注释。
请注意,当使用调用中的数组yad
,扩展必须准确引用如上所示,否则您将遇到包含空格和/或文件名通配字符的数组元素的问题。