8

私のシェルスクリプトの1つで、私は見ています

if [[ ! -d directory1 || ! -L directory ]] ; then

-dここでと-Lオプション とはどういう意味ですか? 条件で使用するオプションに関する情報はどこにありifますか?

4

4 に答える 4

11

help testコマンドが受け入れるほとんどのオプションを表示することができます[[

help [追加情報を表示することもできます。help [[そのタイプの条件に関する情報を取得するために行うことができます。

man bash条件式」セクションも参照してください。

于 2012-06-13T11:19:27.843 に答える
1

指定された-dディレクトリが存在するかどうかをチェックします。-Lシンボリックリンクの テスト。

Advanced Bash-Scripting Guideファイルテスト演算子は、さまざまなオプションについて説明しています。そして、これがbashのマニュアルページで、ターミナルに入力することでも見つけることができます。man bash

于 2012-06-13T04:15:33.163 に答える
1

bashコマンドのヘルプが組み込まれていhelpます。を使用して、bash 組み込みのオプションを簡単に見つけることができますhelp

$ help [[
...
Expressions are composed of the same primaries used by the `test' builtin
...
$ help test
test: test [expr]
    Evaluate conditional expression.
    ...
    [the answer you want]
于 2012-06-13T10:50:39.033 に答える
0

Bourne シェルで[test、同じ実行可能ファイルにリンクされていました。したがって、テストのマンページで利用可能なさまざまなテストの多くを見つけることができます。

これ:

if [[ ! -d directory1 || ! -L directory ]] ; then

directory1がディレクトリでない場合、またはdirectoryリンクでない場合を言っています。

正しい構文は次のとおりです。

if [[ ! -d $directory1 ] ||  [ ! -L $directory ]] ; then

また

if [[ ! -d $directory1 -o ! -L $directory ]] ; then

OPの行は正しいですか?

于 2013-07-04T01:33:28.180 に答える