当调用长的、需要大量开关的命令时,最好将它们编写在 shell 脚本中。有没有一种简单的方法来注释此类脚本中的行?我尝试过以下方法,但都不起作用。
# the \ is also commented out, resulting in "command" and "--good-switch".
command \
#--bad-switch \
--good-switch \
# seems to send an extra argument to the command
command \
\ #--bad-switch \
--good-switch
答案1
这可能是一个选项:将命令和参数存储在数组中,然后执行
# build the command
cmd=( ls
-F
# -a # comment out this option temporarily
-l
)
# $cmd is now an array with 3 elements
# execute it
"${cmd[@]}"
答案2
我总是在命令之后移动注释的内容。
command \
--good-switch
# --bad-switch with explanation here, if needed
答案3
答案4
问题是在解析该行之前删除了斜杠,因此第一个命令的解析就像您编写的一样command #--bad-switch --good-switch
。如果你有一个很长的命令序列,你可以例如写一个逐行注释块在其上方或下方,依次解释每个参数,或者您可以将参数存储在变量中(尽管这通常会导致使用特殊字符引用令人头疼)。