检查文件是否存在

时间:2013-01-08 01:37:04

标签: shell

我在这个网站上找到了一个关于如何检查文件是否存在的代码,然后添加了一些符合我想法的代码。我这样做是对的吗?

declare file="file.txt"
declare regex=$skedtemp
declare file_content=$( cat "${file}" )
if [[ " $file_content " =~ $regex ]] 
then
    skedran=$((RANDOM%200+600))
    skedtemp="SN$skedran"
    sked=$skedtemp
else
    sked=$skedtemp
fi

如果它已经存在,那么它将生成另一个随机数,如果它不存在,则将使用生成的数字。

2 个答案:

答案 0 :(得分:1)

要测试文件是否存在,您可以执行此操作

[ -a file.txt ]

[ -e file.txt ]

[ -f file.txt ]

回应Jonathan Leffler’s comment

File operators:

  -a FILE        True if file exists.

ref

答案 1 :(得分:0)

您可能正在寻找grep

file="file.txt"
if grep "$skedtemp" $file
then
    skedran=$((RANDOM%200+600))
    skedtemp="SN$skedran"
fi
sked=$skedtemp