синтаксическая ошибка: неверный арифметический оператор (токен ошибки – .c)

Я пытаюсь проверить, присутствует ли файл «file1.c» в текущем рабочем каталоге, что я делаю неправильно с моей тестовой командой? Я думал, что понял эту команду, делаю ли я что-то не так для оболочки Bourne, о которой я не знаю?

#! /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 является синонимом команды [ command], поэтому вы можете использовать:

 if [ -e "$NAME" ]; then 

слишком.

Также у некоторой оболочки есть [[ keyword:

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