Shell

語法錯誤:算術運算符無效(錯誤標記為“.c”)

  • March 30, 2016

我正在嘗試測試目前工作目錄中是否存在文件“file1.c”,我的測試命令做錯了什麼?我以為我理解了這個命令,我是否對我不知道的 Bourne shell 做錯了什麼?

#! /bin/sh
NAME=$1
if((test -e "$NAME"));then
echo File $NAME present
else
echo File $NAME not present
fi

您不需要括號,test本身就足夠了:

if test -e "$NAME"; then

(())用於算術比較操作。

test[命令的同義詞,因此您可以使用:

if [ -e "$NAME" ]; then

也。

還有一些shell有[[關鍵字:

if [[ -e "$NAME" ]]; then

引用自:https://unix.stackexchange.com/questions/273031