5
シェルスクリプトが空白またはその他の特殊文字で停止するのはなぜですか?
または、堅牢なファイル名処理およびシェルスクリプトで渡すその他の文字列の入門ガイド。 ほとんどの場合、うまく機能するシェルスクリプトを作成しました。ただし、一部の入力(たとえば、一部のファイル名)で停止します。 次のような問題が発生しました。 スペースを含むファイル名を持っていて、hello worldそれは2つの別個のファイルhelloとworld。 2つの連続したスペースを持つ入力行があり、入力で1つに縮小しました。 入力行から先頭と末尾の空白が消えます。 入力に文字の1つが含まれている場合、\[*?実際にはファイルの名前であるテキストに置き換えられることがあります。 入力にアポストロフィ'(または二重引用符")が含まれており、その時点以降は状況がおかしくなりました。 入力にバックスラッシュがあります(または、Cygwinを使用していて、ファイル名の一部にWindowsスタイルの\区切り文字があります)。 何が起こっており、どうすれば修正できますか?