if文を短く書き換え
シェルスクリプトで
1 2 3 4 5 | |
みたいな文をAND(&&)を使って
1 2 3 | |
こんな風に短く出来ます。
終了ステータスが違う
上の二つは同じ様な機能を持つので、
この切替はなんとく見た目が良い感じになるように、の程度でやってましたが、
nが1でない時に終了ステータスが変わります。
上の場合はif文にはnが整数である限り間違いはないのでこの部分は正常終了し
if文後は$?が0になってます。
一方、下の方は最初の判定が偽でその時点で下に行くので$?は
失敗ステータスの1が入ってます。
それ程終了ステータスを使う事はないかもしれませんが、 スクリプトの最後に
1 2 | |
的な、まとめを場合によっては表示する、みたいなスクリプトだったりすると、 普段この表示を止めてる場合にスクリプトの終了ステータスが0で 無くなってしまったりすることも。
ステータスを見る様なスクリプトはきちんとexit 0とか関数ならreturn 0
しとくべきですが割りと適当にやってると忘れてしまうので注意、と。
おまけ: 三項演算子にしてしまう
上の様に変換するときに最後に|| :を付けて
1
| |
としてやれば、verboseが1より小さい時は:が実行されて(つまり何もされない)
終了ステータスが0になるのでif文と同じ様にも出来るな、とも。
Sponsored Links
![[チビジュエルズ] chibi jewels シェルネックレス(Neptune) N085 Neptune Shell Necklace](https://images-na.ssl-images-amazon.com/images/I/614WVSkq%2BLL._SS200_.jpg)