[英]Copy File: Name Contains Spaces
我有一個大型 shell 腳本來處理我的每個 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
我曾嘗試將變量放在引號中,但這不起作用。 我之前使用過帶有 -exec 選項的 find,但對於這種情況,這並不是一個真正的選項,尤其是因為 Solaris 不支持 -wholename 或 -path 選項
我可以在這里做什么?
你只需要用引號保護變量:
cp "$FILENAME" "$DESTDIR"
筆記
不要使用單引號'
,變量不能以這種方式擴展。
看起來我需要使用花括號進行變量擴展和雙引號
cp "${FILENAME}" $DESTDIR
確保
$DESTDIR
存在/
。你可能不相信,但那是你的問題。 :-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.