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.

ref

于 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 に答える