_
Bashには、下線で始まるいくつかのファイル名と、下線で始まらない他のファイル名を含むディレクトリがあります。
私のスクリプトでは、フォルダに.で終わらない項目があることを確認したいと思います_
。
if [[ -f $dir/[!_]* ]]
then echo "There are unmarked files."
else echo "All files marked."
fi
ただし、で始まったり起動しないファイルを含むフォルダーで実行したりすると、_
ステートメントがif
意図したものと反対の効果を発揮します。なしでファイルを明確に表示するフォルダ内の項目を一覧表示します_
が、出力は引き続き表示されます。All files marked.
私は何を見逃していますか?
答え1
if find -not -name '_*' -exec false {} +
then
echo 'all files marked'
else
echo 'unmarked file found'
fi