Мой код сценария оболочки выглядит следующим образом:
echo "Enter file name";
read fname;
if [-f$fname];
then
echo "File already exists";
fi`
Однако, когда я запускаю свой скрипт, я получаю эту ошибку:
[-ffile]: not found
Я попробовал интервал [ f3], но я все равно получаю ту же ошибку. Почему это происходит и как я могу это исправить?
Я ожидал бы -e "$fname" или if [[ -e $fname ]] (последний не является универсальным для оболочек).
Итак,
echo "Enter file name"; read fname; if [ -e "$fname" ]; then echo "File already exists"; fi
В любом случае, и убедитесь, что: всегда используйте кавычки;)
Вот как выглядит скрипт
echo "Enter file name";
read fname;
if [ -f "$fname" ];
then
echo "File already exists";
fi
Вам нужно пространство вокруг скобок и должно указывать переменную.