タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

shellscriptに関するm-birdのブックマーク (3)

  • シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)

    プログラムの種類によっては、そのまま実行できるものと、実行できるようにするために「ビルド」が必要なものとがあります。Cなどのコンパイルが必要な言語で書かれたプログラムは当然ビルドが必要ですし、コンパイルが不要な言語であっても、インストーラパッケージを作るというビルド作業が必要な場合はあります。 ビルド作業の自動化のためのツールとしてmakeなどがありますが、そこまで格的な事をやる必要がない場合は、シェルスクリプトで「ビルドスクリプト」を作るのが手軽でおすすめです。この記事では、そのような場合に役立つシェルスクリプトのテクニックを4つご紹介します。 エラーの気付きやすさとデバッグのしやすさを高める メッセージに色を付ける シェル関数をライブラリにする 一時的に作業ディレクトリの中に入る エラーの気付きやすさとデバッグのしやすさを高める はじめに紹介するテクニックは問題が発生した時に気づきや

    シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)
  • [シェルスクリプト] 未初期化と空文字列で初期化の違い – taichino.com

    自前で動かすデーモンとかが増えてきたので、CentOSの/etc/init.d/functionsをまともに理解しとこうと思って読んでいると、以下のようなコードが見つかりました。 status() { local base pid lock_file= pid_file= # Test syntax. if [ "$#" = 0 ] ; then echo $"Usage: status [-p pidfile] {program}" return 1 fi ... 4つの変数が宣言されていて、そのうちbaseとpidは未初期化、残りの2つは空文字列で初期化されています。まさか/etc/init.d/functionsのような枯れきっているコードにミスなんかは残ってないと思ったので調べてみました。 とりあえず以下のようなコードを走らせてみました。 func() { local a b= e

  • シェルスクリプトでsprintfのようなことをする - $koherent->diary

    僕はシェルスクリプトを触ったことがほぼないのですが、C言語でいうsprintfのようなことをしたくて手間取ったのでメモです。シェルはbashです。 シェルスクリプトでprintfのようなことをするにはprintfコマンドを使って下記のようにします。 value=1 printf "aaa%03d\n" $value 今回は整形済みの結果を変数に代入したかったので、sprintfのようなものはないのかと思って探しました。結果的には、下記のようにしてprintfコマンドの結果を代入することでsprintfのようなことができました。 value=1 result=$(printf "aaa%03d" $value) シェルスクリプトの文法を知っていれば当たり前なのでしょうが、「シェルスクリプト sprintf」などのキーワードからこの書き方を検索するのが結構大変だったので。

    シェルスクリプトでsprintfのようなことをする - $koherent->diary
  • 1