多くのスイッチが必要な長いコマンドを呼び出すときは、シェルスクリプトで書くのが最善です。そのようなスクリプトで行をコメントアウトする簡単な方法はありますか?私は次のことを試しましたが、そのうちの何も動作しません。
# 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
。長いコマンドシーケンスがある場合は、次のように書くことができます。1行ずつコメントブロック上下に各パラメータが順番に記述されているか、パラメータを変数に保存することができます(これにより、特殊文字の引用のために厄介なことが頻繁に発生しますが)。