我是unix的初學者,這是我第一次用if語句循環。我得到一個錯誤,說語法錯誤附近的意外令牌'然後'。請你能幫我解決這個問題。我做錯了什麼。for循環 - bash腳本語法errror
for file in [email protected]
do
if [[ ! -f [email protected] ]]
then
echo "Error. File does not exist."
exit $ERROR_NO_FILE
elif
then
chmod 755 $file
echo "File permissions have been changed."
exit $SUCCESS
fi
done
'[[!! -f $ @]]'?嗯? '-f'不能接受任意數量的參數,並且你不知道'$ @'會擴展到多少。你想要[[!! -f「$ file」]]'(由於[[]]'的副作用,缺少可接受的引用,儘管它仍然不會受到傷害)。 –
另外,你需要在$「',''chmod 755」$ file「'等文件中輸入' - 就這一點而言,這會因空間的文件名而嚴重破壞。通過http://shellcheck.net/運行你的代碼並修復它發現的內容。 –
**不要以任何方式改變您的問題,否則將導致錯誤的答案**。 –