次の行を持つ #!/bin/sh スクリプトがあります。
if [ ! -x "$TEST_SLAPD" ]
$TEST_SLAPD
.bat ファイルへのフル パスです。
その声明-x
の文脈で旗が何を意味するのか疑問に思っていますか?if
次の行を持つ #!/bin/sh スクリプトがあります。
if [ ! -x "$TEST_SLAPD" ]
$TEST_SLAPD
.bat ファイルへのフル パスです。
その声明-x
の文脈で旗が何を意味するのか疑問に思っていますか?if
if
それに続くコマンドの結果をチェックするだけです。[
は (少なくとも常にではありませんが) 演算子ではなく、'test' と呼ばれる小さなユーティリティです。
そのドキュメントから:
-x file
True if file exists and is exe-
cutable. True indicates only
that the execute flag is on. If
file is a directory, true indi-
cates that file can be searched.
(そして、はい、!
明らかに否定です)
同様の評価フラグのドキュメントは、 http ://illumos.org/man/1/test から入手できます。
条件付きは、ファイルまたはディレクトリに現在のユーザーの! -x
実行可能ビットが設定されていないことを意味します。ヘルプは、ディレクトリにも適用されるという事実について少し明確ではありませんが、次のように述べています。
$ help test | fgrep -- '-x'
-x FILE True if the file is executable by you.