#! /bin/bash
echo -e "Enter the name of the file : \c"
read file_name
if [ -e $filename ]
then
echo "$file_name is found"
else
echo "$file_name is not found"
fi
Я запускаю вышеупомянутое, чтобы проверить, что файл существует в текущем каталоге, используя флаг -e
, но он показывает условие, поскольку $ filename найден для любого значения, заданного для $ filename.
Я сделал несколько изменений в вашем сценарии:
# !/bin/bash
, хотя он работает нетрадиционно. Вместо этого используйте #!/bin/bash
. file-name
и file_name
if
-> else
-> fi
должны иметь отступ для большей читаемости. Он по-прежнему работает вертикально, его легче читать при отступе. Enter the name of the file
можно сократить до Enter filename
, чтобы сделать программы короче и быстрее. Это также позволяет людям быстрее читать инструкции. #!/bin/bash
echo -e "Enter filename: \c"
read filename
if [ -e "$filename" ]
then
echo "$filename found"
else
echo "$filename not found"
fi