Shell 脚本错误检查文件是否存在

Shell 脚本错误检查文件是否存在
#! /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。

答案1

我对你的脚本做了一些更改:

  • # !/bin/bash尽管它的工作方式非常规。请使用#!/bin/bash
  • Filename 是一个单词,但我们经常认为它是两个。因此它的拼写不同,file-namefile_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

相关内容