
通常、長いコマンド/行の末尾に「\」を入れて複数行に分割できます。
sudoers構文ではこれも許可します。大丈夫です。
しかし:
「\」文字の後に「スペース」がある場合、コマンド/スクリプトは中断されます。しかし、sudoはそうではありません。。
質問:sudoがすべてのUNIX系システムで「\」の後に空白を許可することが正式に(そしてどこに文書化されています)ありますか?
コマンド例:
一般的なバックスラッシュ:
$ echo a; \
> echo b
a
b
バックスラッシュの後にスペースが追加されます。
$ echo a; \
a
bash: : command not found
$
答え1
\
動作はさまざまなアプリケーションで処理されるため、コンテキストによって異なります。
sudoersファイルは.sosudo
からインポートされたものであるため、sudo
実装によって異なりますsudo
。可能システムによって異なります。たとえば、OSXでは次のようになりますman sudoers
。
長い行は、最後の行にバックスラッシュ('\')を使用して続行できます。 特徴オンライン。
説明するその他の動作は、以下bash
で処理され記録されますman bash
。
\<newline>
ペアが発生してバックスラッシュ自体が引用符で囲まれていない場合は、行の連続として\<newline>
処理されます(つまり、入力ストリームから削除され、事実上無視されます)。
他のシェルは異なる実装を持つことができます。