タグ

shellscriptに関するshirokurostoneのブックマーク (3)

  • shell script を書くときの tips 2つ(初心者向け) - tokuhirom's blog

    shell script は普段さけて通りたいと願ってやまないわけですが、たまには書かないといけないことがあるので、そういうときは覚えておくと便利な tips を2つ。 autodie っぽくするset -eとすると、コマンドの実行に失敗したときにそこで実行がとまるので便利。 #!/bin/sh set -e perl -e 'die' echo SHOULD NOT REACH HEREとすると % ./hoge.sh Died at -e line 1. % echo $? 255となって、最後までいかずに死にます。 複数のコマンドを順番に実行するときに便利。 なお、以下のような挙動をするんだそうです。 ただし失敗したコマンドが until または while ループの一部である、 if 文の一部である、 && または || リストの一部である、 コマンドの返り値が ! で反転されてい

  • シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third

    エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET

    シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third
  • シェルスクリプトは文字通りの逐次実行 - シリコンの谷のゾンビ

    知り合いに気になったことを指摘された. 「シェルスクリプトは実行中にスクリプトを変更すると,変更されたスクリプト通りに動く」というものである. んなことあるかい,スクリプトは実行時にメモリに読み込まれるんでい!と思い込んでいたので,早速調べてみた. 同時作業をするので複数端末を立ち上げるか,screenを使うか,emacsのshellモードを使う. 以下のようなスクリプトを書く. # test.sh echo "start" sleep 5 echo "1" sleep 5 echo "2" sleep 5 echo "3" sleep 5 echo "4" echo "done" 実行する. % sh test.sh startすかさず上記コードの最後の行をコメントアウト # test.sh echo "start" sleep 5 echo "1" sleep 5 echo "2" s

    シェルスクリプトは文字通りの逐次実行 - シリコンの谷のゾンビ
  • 1