使えることは知っています
cat > fire
「fire」という名前のファイルを作成します。しかし、ファイル名に「Grocery list」のように 2 つの単語が含まれている場合は、どのように作成すればよいでしょうか?
以来
cat > Grocery list
奇妙なメッセージを表示しますcat: list: No such file or directory
。
私を助けてください。
答え1
たくさんの方法:
名前を一重引用符で囲む:
cat > 'Grocery list'
名前を二重引用符で囲む:
cat > "Grocery list"
空白をエスケープするには
\
:cat > Grocery\ list
次の操作を行うと:
cat > Grocery list
Grocery
2つの単語として解釈されますlist
。
出力方向> Grocery
はシェルによって行われ、最初に実行されるため、ファイルGrocery
が作成され、次にがの引数として取得されますcat list
。おそらく現在のディレクトリにファイルが存在しないため、ファイルが見つからないというエラーが発生します。list
cat
list
list
つまり、この場合、基本的には次のことを行います。
cat list > Grocery
答え2
どうにかしてその空間から脱出する必要があります。heemayl さんが良い回答をしていますが、詳細についてはこちらも読むことをお勧めします:シェル スクリプトが空白文字やその他の特殊文字で動作しなくなるのはなぜですか?
ファイル自体の作成に関しては、 を使用する必要はありませんcat
。
> file
十分です。