3

gnuwin32 / binディレクトリを見ると、名前が変わったプログラムファイルがあります。[.exe

ドキュメント、gnuwin32.sourceforge.net、またはgoogle検索でそれを見つけることができなかったので、それを実行して次のように取得しました。

$ [
[: missing `]'
$

だから私はそれをパラメータとして与えて

$ [ ]

$

不満はなかったので、正しい方向に進んでいると思いました。私は試した:

$ [ hello ]

繰り返しますが、苦情はありません。だから私は算術式を試しました:

$ [ 1 + 1 ]
[: +: binary operator expected
$

接頭辞と後置記法を含むさまざまな組み合わせを試しましたが、何も機能しないようでした。これは何をしますか?

4

3 に答える 3

6
test a

==

[ a ]

ただの砂糖です

編集:明確にするために、それは条件付き構文です、例えば["a" = "a"]

于 2008-11-18T23:00:02.580 に答える
5

条件式を評価するために使用されます。これは、実行可能ファイル
(おそらくへのシンボリック リンク) と同等です。 マンページはこちらです。test

これは、多くの bash スクリプトで見られる場合があります。

if [ "$LOGNAME" = "scott" ]
then
    echo "Logged in as Scott"
else
     echo "incorrect user"
fi

面白いことに、これ[は bash 言語の一部ではありません。実際には、戻りコードが「IF」によって使用される実行可能ファイルです。[これが、とその最初の引数の後のスペースが必須である理由です。これを省略すると、スクリプトは実行["$LOGNAME"を試みて失敗します。

それを使用して算術演算を行うことはできません-そのために使用しますexprこちらを参照)。ただし、さまざまなファイル プロパティ (存在するかどうか、ファイルの種類は何かなど) をテストしたり、文字列や数値に対して比較演算子を使用したりできます。

于 2008-11-18T23:12:38.700 に答える
0

すでに述べた別の回答は と同じtestです。bash ではビルトインでもあるため、helpビルトイン ( help test) を使用してヘルプを取得できます。

于 2008-11-19T10:50:50.710 に答える