「食料品リスト」というファイルを作りたいです。 (ファイル名に2単語があります。)

「食料品リスト」というファイルを作りたいです。 (ファイル名に2単語があります。)

私たちが使用できることを知っています

cat > fire

「fire」というファイルを作成します。しかし、ファイル名に「食料品リスト」のような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そしてlist2つの言葉として扱われます。

出力方向は> Groceryシェルによって実行され、最初に発生するため、ファイルがGrocery生成され、つまり引数としてcat list実行されます。おそらく、ファイルが現在のディレクトリに存在しないため、欠落しているファイルエラーが発生します。listcatlistlist

したがって、この場合はデフォルトで次のことを行います。

cat list > Grocery

答え2

どういうわけかこのスペースを脱出する必要があります。 heemaylが良い答えをくれましたが、詳しくはこの答えも読んでください。スペースやその他の特殊文字が原因でシェルスクリプトが停止するのはなぜですか?

ファイル自体を生成する場合cat

> file

十分。

関連情報