私のシェルスクリプトの1つで、私は見ています
if [[ ! -d directory1 || ! -L directory ]] ; then
-dここでと-Lオプション とはどういう意味ですか? 条件で使用するオプションに関する情報はどこにありifますか?
help testコマンドが受け入れるほとんどのオプションを表示することができます[[。
help [追加情報を表示することもできます。help [[そのタイプの条件に関する情報を取得するために行うことができます。
man bash「条件式」セクションも参照してください。
指定された-dディレクトリが存在するかどうかをチェックします。-Lシンボリックリンクの テスト。
Advanced Bash-Scripting Guideのファイルテスト演算子は、さまざまなオプションについて説明しています。そして、これがbashのマニュアルページで、ターミナルに入力することでも見つけることができます。man bash
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]
Bourne シェルで[はtest、同じ実行可能ファイルにリンクされていました。したがって、テストのマンページで利用可能なさまざまなテストの多くを見つけることができます。
これ:
if [[ ! -d directory1 || ! -L directory ]] ; then
directory1がディレクトリでない場合、またはdirectoryリンクでない場合を言っています。
正しい構文は次のとおりです。
if [[ ! -d $directory1 ] || [ ! -L $directory ]] ; then
また
if [[ ! -d $directory1 -o ! -L $directory ]] ; then
OPの行は正しいですか?