2012-02-14 79 views
0

我有一個名爲test_file裏面@ @#〜文件:「_ 1328853976191.txt在tmp目錄猛砸複製有特殊字符

我運行下面的代碼

#!/bin/sh 


for f in /tmp/*.azw2; do 
    if [ -f "$f" ]; then 
     cp "$f" /some/directory 
    fi 

done 

它拋出錯誤

cp:無法刪除'/some/directory/[email protected][email protected]#~:"_1328853976191.txt':沒有這樣的文件或目錄

這適用於目的地是/或根目錄下的目錄,但不包含任何直銷tory 2級深。

我該如何解決這個問題?

+0

你在哪個平臺上?這不是來自cp的正常錯誤消息。但問題可能是目標目錄不存在。 – 2012-02-14 17:30:22

+0

@evil otto我在linux上,目標目錄存在 – Poorna 2012-02-15 05:30:50

回答

2

我沒有一個完整的解釋,但文件名中的感嘆號讓我認爲關閉歷史擴張(使用set +H)可能會有所幫助。

+0

在我的設備上設置命令沒有該選項 – Poorna 2012-02-15 05:42:15