
名前にスペースが含まれるディレクトリを作成しようとしています。たとえば"user test"
、実行すると正常に動作します。mkdir -p "user test"
"user test"
変数mkdirを入れると失敗し"user
、test"
別々に作成されます
var="user test"
mkdir -p $var
私も試してみましたmkdir -p "$var"
どこが間違っているのか誰か教えてもらえますか?
答え1
宇宙から脱出しなければならない
mkdir hello\ there
文字列をカプセル化することもできます。この方法では、スペースをエスケープする必要がありません。
mkdir 'hello there'
答え2
ZN13さんの回答は正解です。もう少し詳しくお伝えしますと、
これは、バックスラッシュ () などのエスケープ シーケンス (文字ごとのエスケープ) を使用することで実現できます。
例
mkdir Good\ Morning
ここで、バックスラッシュは「Morning」の前のスペース文字をエスケープするのに役立ちます。
Linux では、ファイル名やディレクトリにスペースを使用することは推奨されません。データのコピーや、ファイル名/ディレクトリ名の使用に関連するその他のタスクが困難になるためです。