#!/bin/bash
echo "Enter the o/p file name"
read op_file
echo "Enter the count"
read count
echo "OP filename : "
echo $op_file
if [ `ls $op_file` ]; then
echo "O/P file found"
else
exit 0
fi
我正在尝试检查文件名是否存在。如果文件存在,请继续。虽然上面的代码没有给我错误。它会打印找到的O / P文件,即使ls找不到该文件。
答案 0 :(得分:1)
在if中使用-e运算符,检查是否存在文件,所以:
if [ -e $op_file ]; then
echo "O/P file found"
else
exit 0
fi
答案 1 :(得分:1)
您的脚本可以重构为:
#!/bin/bash
read -p "Enter the o/p file name" op_file
read -p "Enter the count" count
echo "OP filename: $op_file"
if [ -f "$op_file" ]; then
echo "O/P file found"
else
exit 1
fi
最好使用-f "$file"
检查是否存在文件。另请参阅man test