私のシェルスクリプトの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の行は正しいですか?