構文エラー:無効な算術演算子( '.c'タグ付きエラー)

構文エラー:無効な算術演算子( '.c'タグ付きエラー)

現在の作業ディレクトリに "file1.c"ファイルがあるかどうかをテストしようとしています。テストコマンドに何の問題がありますか?コマンドを理解したと思いましたが、Bourneシェルに私が知らない何か間違ったことがありましたか?

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

答え1

角かっこは必要なく、testそれ自体で十分です。

if test -e "$NAME"; then

(())算術比較演算に使用されます。

testcommand と同義語な[ので、次を使用できます。

if [ -e "$NAME" ]; then

また。

キーワードを含むシェルもあります[[

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

関連情報