2017-10-17 69 views
0

我創建一個shell腳本,一個文件名作爲輸入,所以我傳遞文件名稱,如如何處理的bash:語法錯誤附近意外的標記'('

A(01).txt文件

所以假設我想衡量文件大小就顯示錯誤

慶典:附近意外的標記語法錯誤'(」

我剛纔寫

#!/bin/sh 

if [ $# -eq 2 ] 
then 
    FILE1="$1" 
    FILESIZE1=$(stat -c%s "$FILE1") 
    echo $FILESIZE1 
fi 

我已經添加「」來處理文件名中的空格,但爲什麼不處理括號?

在此先感謝。

+0

這個腳本叫'A',你想通過文件'01'?如果是這樣,請調用'A 01'。不要叫'A(01)' –

+0

你說你傳遞的文件名是'A(01)'? –

+0

我們已經看到了兩個合理的,但不一致的猜測,你對「A(01)」的含義是什麼。請更新您的問題以解釋「A(01)」的含義。你的腳本的名字是什麼?什麼是你傳遞給它的文件名? –

回答

0

你的文件名具有特殊字符。要麼你必須改變文件名沒有特殊字符,或者如果你沒有權限來改變文件名,然後通過文件名的腳本,如<your_script> A\(01\).txt<your_script> "A(01).txt"

相關問題