0

各Solarisシステムのファイルを処理する大きなシェルスクリプトがあります。

最初に、スクリプトは変数FILENAMEを作成します。スペースを含むディレクトリ/ファイルを作成する場合があります。例えば

/users/ldap/Anukriti's System Backup/BACKUP/workspace/BP8/scripts/yui/editor/simpleeditor.js

スクリプトの後半で実行します

cp $FILENAME $DESTDIR/

ご想像のとおり、以下は無効であるため、これは常に失敗します。

cp /users/ldap/Anukriti's System Backup/BACKUP/workspace/BP8/scripts/yui/editor/simpleeditor.js $DESTDIR

変数を引用符で囲んでみましたが、機能しません。以前にfindwith-execオプションを使用しましたが、この状況では、特にSolarisが-wholenameまたは-pathオプションをサポートしていないため、これは実際にはオプションではありません。

ここで何ができますか?

4

3 に答える 3

9

変数を引用符で保護する必要があります:

cp "$FILENAME" "$DESTDIR"

ノート

一重引用符は使用しない'でください。変数をこのように展開することはできません。

于 2012-10-09T21:45:46.453 に答える
2

変数の拡張と二重引用符には中括弧を使用する必要があるようです

cp "${FILENAME}" $DESTDIR
于 2012-10-10T03:50:04.953 に答える
0

それを確認してください

  • $DESTDIR存在する
  • ディレクトリです
  • はい、両方の変数に二重引用符を使用し、末尾のを削除し/ます。

信じられないかもしれませんが、それがあなたの問題です。:-)

于 2012-10-09T22:05:06.687 に答える