パイプラインを使用してシェルスクリプトを作成し、バックスラッシュを使用して行を継続する場合、堅牢で読みやすく、移植可能な方法でコメントを別の行に挿入したいと思います。
たとえば、次のコメントなしの複数行コマンド(わかりやすくするために@DigitalRossから盗まれました)を考えます。
echo abc |
tr a-z A-Z |
sort |
uniq
...以下は私が達成したいものに審美的に最も近いものですが、明白な理由で機能しません...そしてはい、これは通常コメントする価値のあるものではないことをよく知っています:
# Perform critical system task.
# NOTE - An example of what does *not* work.
echo abc |
# Convert lowercase to uppercase.
tr a-z A-Z |
# Sort the results.
sort |
# Only show unique lines.
uniq
次のように、既存の関連する回答は、私にとっては不満のようです。
まず、glenn jackmanの答え(配列に引数を追加してから配列を実行する)は、単一のコマンドでは機能しますが、パイプラインでは機能しません(そして、それができたとしても、避けたい複雑さを追加します)。
第二に、ここでの@Gillesの回答(を使用:
)は、パイプラインの流れを変更するため、パイプライン処理では機能しないようです。
$ echo "abc" | :
$
(注::
出力を変更せずに渡すものと同等のものがあれば、それは見た目は許容できますが、見つけられませんでした。カスタムのものを書くことはできますが、移植性が低下します。)
最後に、DigitalRossのStackOverflowに対する答えの最後の部分は、同じ行にコメントを追加するのにうまく機能しますが、別の行にコメントを追加することを強くお勧めします。それ以外の場合、行の長さが大きく異なると、読みやすさが低下します。
echo abc | # normal comment OK here`
/usr/local/bin/really/long/path/ridiculously-long-filename.sh | # another normal comment OK here
sort | # the pipelines are automatically continued
uniq # final comment
読みやすさを維持し、複雑さを最小限に抑える答えを探しています。または、探しているものが実行不可能である理由の背景を探しています。
i++; // increment i by one
。私はあなたが読むことをお勧め「スタイルのプログラミングの要素」