Bashスクリプトでファイル名内にスペースを含むファイルをコピーする際に問題が発生しました。

Bashスクリプトでファイル名内にスペースを含むファイルをコピーする際に問題が発生しました。

ファイル名にスペースを含むファイルをコピーするBASHスクリプト(Ubuntu 12.xで実行)には、次の機能があります。動作しません。 "'、\"など、さまざまな組み合わせを試しました。どのように機能させますか?ありがとうございます!

function copy_docs()
{
    source_directory=/mnt/someplace
    release_directory=/doc/someotherplace

    cp ${source_directory}/"Some file with spaces.txt" ${release_directory}/

}

これは私が得た結果です(ほぼすべての順列)。

cp: cannot stat `/mnt/someplace/some': No such file or directory
cp: cannot stat `file': No such file or directory
cp: cannot stat `with': No such file or directory
cp: cannot stat `spaces': No such file or directory

ベストアンサー1

cp ${source_directory}/Some\ file\ with\ spaces.txt ${release_directory}/

または

cp ${source_directory}/'Some file with spaces.txt' ${release_directory}/

おすすめ記事