次のような奇妙なディレクトリが作成された場合:
a"
b"
Bash または zsh では、次のことができます。 cd a$'\n'b または cd 'a'$'\n''b'
ダッシュは何と同じですか?
答え1
これに対応する唯一の内容は基本的にあなたが書いたものです。
cd a"
"b
(または引用符の他の置換)。文字列リテラルには、改行を含むスペースを含めることができ、埋め込み単語の一部としてリテラルを保持します。バックスラッシュを改行文字として使用することはできません。改行接続改行文字を完全に削除するので、単一引用符または二重引用符を選択できます。
この場合、以下を使用することもできます。コマンドの置き換え例えばprintf
同じ\n
エスケープシーケンスを処理します。
cd "a$(printf '\nb')"
決勝戦b
は必須内部にprintf
末尾の改行文字はコマンド置換によって削除されるため、ファイル名が実際に改行文字で終わる場合は機能しません。\a
BELバイトなどの他のエスケープにも使用できます。
$'...'
ANSI-Cリファレンスへの直接POSIXまたはダッシュに対応するエントリはありません(しかし、)。