QNX (Neutrino 6.5.0) は、ksh のオープン ソース実装をシェルとして使用します。システム起動スクリプトを含む、提供されているスクリプトの多くは、次のような構造を使用します。
if ! test /dev/slog -ef /dev/slog; then
# do something
fi
ファイルシステムにリソースマネージャーが存在するかどうかを確認します。私が検索したところ-ef
、2 つのパラメーターが実際に同じファイルであるかどうかを確認する非常に単調な説明しか見つかりませんでした。指定されたファイル名は同じであるため、ファイルが存在することを確認するだけのようです。
test -a
andの動作を確認しましたtest -e
(私が読んださまざまなドキュメントによると、どちらもあらゆるタイプのファイルのファイルの存在を確認しているようです)、それらも機能しているようです。
-ef
と-a
/の間で実行されるチェックに違いはあります-e
か? -ef
ファイルの存在下で競合状態から保護するために何らかの試みを使用していますか?