タグ

Linuxとシェルスクリプトに関するnew3のブックマーク (4)

  • ドットコマンドと直接スクリプトを実行した時の違い - Webエンジニアの技術メモ 〜PHP、SQL、Linuxなど〜

    直接実行した場合、別シェルが呼び出されますが、ドットコマンドでは実行したシェル(カレントシェル)から呼び出されます 例)test.sh hoge=123 echo $hoge直接実行 [user@system work]$ ./test.sh 123 [user@system work]$ echo $hoge →シェル変数の設定値は実行シェルには引き継がれない ドット「.」コマンドで実行 [user@system work]$ . ./test.sh 123 [user@system work]$ echo $hoge 123→値が設定されている ※ドットの場合は実行権限が無くても実行できます

    ドットコマンドと直接スクリプトを実行した時の違い - Webエンジニアの技術メモ 〜PHP、SQL、Linuxなど〜
    new3
    new3 2014/07/08
    ドットコマンドで呼び出した場合とそうでない場合の違いの例。
  • シェルスクリプトと実行方法

    人間の仕事をシェルに代行させるための手順を書いたテキストファイルのことを シェルスクリプトといます。シエルスクリプトに記述できる内容はコマンドライン で受け付けられるものならば何でも書くことができます。 シェルにはパイプに代表されるような複数のコマンドを組み合せる機能や、 あるコマンドの実行結果を見てそれを次のコマンドに引用するためのロジック が組み込まれています。 シェルスクリプトは純粋なテキストファイルですからテキスト エディタで書き起こしたり、修正することができます。そして、そのスクリプトを 実行させるには端末からのシェルへの入力を代行させる意味で $ sh < script とシェルの標準入力に流し込む方法が使えます。 また、シェルは引数があるとそれを入力ファイルとして扱いますから $ sh script としても構いません。しかし、このようにスクリプトを起動する度にシェルの 引数

    new3
    new3 2014/07/08
    " . " ドットコマンドでシェルスクリプトをロードすると環境変数を再設定できる
  • シェルスクリプトとMakefileの使い分け - ククログ(2012-10-24)

    先日紹介したシェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニックへのコメントとして「なぜMakefileでやらないのか」「Makefileの方がいいのではないか」といったものがありました。確かにmakeはメジャーなビルドツールなので、そのような疑問が出てくるのも当然でしょう。 なぜシェルスクリプトなのかということの理由はいくつかあります。 1つは、先のエントリの題材としたスクリプトが元々はWindows用のバッチファイルをLinuxのシェルスクリプトに移植したものだったからという理由です。Windowsのバッチファイルのベタ移植として作成したシェルスクリプトを継続的にメンテナンスしてきた間の改良の結果として、いくつかのテクニックが盛り込まれるようになったため、そのテクニックにスポットを当てて紹介しようというのが、先のエントリの発端でした。 もう1つは、シェルスクリプトは「シェル

    シェルスクリプトとMakefileの使い分け - ククログ(2012-10-24)
    new3
    new3 2012/10/27
    シェルスクリプトとMakefileの使い分け
  • シェルスクリプトを多重起動しないようにする - 西尾泰和のはてなダイアリー

    最初はこう書いていた。 lockfile build.lock ... rm -f build.lockだけど、lockfileは失敗した時にデフォルトでは無限にリトライをする。ちょっと出来心で$ for i in {1..100}; do ./foo.sh; done;したから100人の待ち行列が出来てしまった。 やりたかったことは「既に起動していたら続行しないで終了」だったので-r 0でリトライ回数を0にした。 lockfile -r 0 build.lock || exit 1 ... rm -f build.lock

    シェルスクリプトを多重起動しないようにする - 西尾泰和のはてなダイアリー
    new3
    new3 2012/03/14
    ロックファイル
  • 1