実際のところ
こんなスクリプトがあったとします
~$ cat cmd1.bash #!/bin/bash printf $(basename $0) exit 0
これを二重角カッコ内で判定すると、正は0、負は1を返します。
これに&&や||をつなげて処理を続けます。
$ [[ ./cmd1.bash ]] && echo 0 0
$ [[ ./cmd1.bash ]] || echo 0
応用:処理が正常に終わった/終わらないケースの処理を書く
中も論理でつなげば、処理が正常に終わった場合の処理も記述可能です。
先ほどのに続いて、おんなじようなファイルを用意し、こいつを二重角カッコ内で繋ぎます
~$ cat cmd2.bash #!/bin/bash printf $(basename $0) exit 0
"&&"でつなげば論理が正で繋がれば実行され
$ [[ ./cmd1.bash && ./cmd2.bash ]] && echo 00 00
"||"で繋げば、後ろのは実行されない
$ [[ ./cmd1.bash && ./cmd2.bash ]] || echo 00