если командный синтаксис

Мой код сценария оболочки выглядит следующим образом:

echo "Enter file name";
read fname;
if [-f$fname];
then
    echo "File already exists";
fi`

Однако, когда я запускаю свой скрипт, я получаю эту ошибку:

[-ffile]: not found

Я попробовал интервал [ f3], но я все равно получаю ту же ошибку. Почему это происходит и как я могу это исправить?

1
задан 19 October 2015 в 12:27

2 ответа

Я ожидал бы -e "$fname" или if [[ -e $fname ]] (последний не является универсальным для оболочек).

Итак,

echo "Enter file name"; read fname; if [ -e "$fname" ]; then echo "File already exists"; fi

В любом случае, и убедитесь, что: всегда используйте кавычки;)

4
ответ дан 23 May 2018 в 16:34

Вот как выглядит скрипт

echo "Enter file name";
read fname;
if [ -f "$fname" ];
then 
  echo "File already exists";
fi

Вам нужно пространство вокруг скобок и должно указывать переменную.

0
ответ дан 23 May 2018 в 16:34

Другие вопросы по тегам:

Похожие вопросы: