這個問題可能看起來很愚蠢,但我很難過,不知道哪裏出了什麼問題。 無論如何,我有一段代碼來檢查一個特定的文件是否存在於一個目錄中。 該代碼工作正常的文件,正常的文件,我的意思是..這種類型的東西「abc.xlsx或xaga1.xlsx」。問題是當我通過一個文件的空間,它似乎失敗了,我的意思是..檢查失敗。 我就直奔代碼:檢查文件是否存在於特定目錄的shell中
if [ ! -e "$file" ]
then
echo_time "ERROR: $file does not exist - aborting" >> $fileChangedLog
exit 1
fi
如果我到輸出重定向日誌文件檢查,我可以看到下面一行:
[03/17/16 11:07:09] ERROR: "/opt/just4share/tellabs/tellabs_nodes 2.xlsx" does not exist - aborting
,但如果我LS錯誤路徑我得到下面的輸出:
[[email protected] scripts]$ ls -lrt "/opt/just4share/tellabs/tellabs_nodes 2.xlsx"
-rw-rw-r--+ 1 netcool ncoadmin 17412 Mar 17 10:43 /opt/just4share/tellabs/tellabs_nodes 2.xlsx
這證實然而該文件存在,我的代碼沒有找到它。我在這裏做錯了什麼? :|
編輯:我也曾嘗試-f開關代替-e開關
它看起來像你的'$ file'變量包含雙引號,所以搜索到的文件是'「/選擇...'不是'/ opt ...'(這個日誌消息很清楚)$變量'file'是如何構造的? –