1

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

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

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

4

2 回答 2

1

要测试文件是否存在,您可以这样做

[ -a file.txt ]

或者

[ -e file.txt ]

或者

[ -f file.txt ]

回应乔纳森莱弗勒的评论

File operators:

  -a FILE        True if file exists.

参考

于 2013-01-08T01:54:29.353 回答
0

您可能正在寻找grep

file="file.txt"
if grep "$skedtemp" $file
then
    skedran=$((RANDOM%200+600))
    skedtemp="SN$skedran"
fi
sked=$skedtemp
于 2013-01-08T05:46:28.457 回答