タグ

bashに関するmingosのブックマーク (3)

  • 私が他人のシェルスクリプトから学んだこと | Yakst

    私はシェルスクリプトの大ファンで、他人のスクリプトから面白い方法を学ぶのが大好きだ。最近、SSHサーバの2要素認証を簡単にするためのauthy-sshスクリプトに出会った。このスクリプト群を見まわしていて、みんなと共有したいたくさんのクールなことを見つけた。 出力に色付けする 出力文字列を、成功した時は緑に、失敗した時は赤に、警告は黄色に色づけしたいと思うことはたくさんあるだろう。 NORMAL=$(tput sgr0) GREEN=$(tput setaf 2; tput bold) YELLOW=$(tput setaf 3) RED=$(tput setaf 1) function red() { echo -e "$RED$*$NORMAL" } function green() { echo -e "$GREEN$*$NORMAL" } function yellow() { e

    私が他人のシェルスクリプトから学んだこと | Yakst
    mingos
    mingos 2013/08/21
    tputは知らなかったけど便利だな。
  • bashによるシェルスクリプトの小技(2) - shibainu55日記

    前回(bashによるシェルスクリプトの小技(1))に引き続き、シェルによって自動的に値が設定される特殊な変数について紹介する。特殊な変数を参照することにより、様々な情報を取得することができる(ただし、これらの変数には自分で任意の値を設定することはできない)。 さて、まずは特殊変数を一覧でまとめてみる。お馴染みのものが多いが、最後の2つ(特に最後のPIPESTATUS)についてはきっと今まで知らなかった人もいるんじゃないだろうか。シェルの中でパイプすると途中のコマンドのリターンコード、拾えないとか思っていませんか?今回のポイントとしては、「1. PIPESTATUS変数について」と「2. 特殊変数 $@と$*の違いについて」の2点を主に説明する。 特殊変数一覧表 変数名 自動的に設定される値 $? 直前に実行されたコマンドの終了ステータスが設定される変数。正常終了の場合は「0」、異常終了の場

    bashによるシェルスクリプトの小技(2) - shibainu55日記
  • 関数は共通部品になる

    プログラムを組んでいくと、なんども同じような処理を繰り返すことがあります。例えば、画面に決まったフォーマットで表示する、といった機能などです。こうしたよく使う機能を関数としてまとめることは、シェルスクリプトでも可能です。 ユーザー定義関数の使い方 今回は関数のお話をしましょう。シェルスクリプトでも関数が使えます。ところで「関数」とはなんでしょうか? 通常プログラムの世界で関数というと、ほかのプログラムから呼ばれる「共通部品」のことを指しますね。オブジェクト指向プログラミング(C++Javaなど)の普及で古い言葉になってしまいましたが、昔は「サブルーティン」などと呼んでいました。もちろん厳密な意味では少し違うところもありりますが。 ではシェルスクリプトの世界ではどうでしょう? ここでも関数は同じようにシェルスクリプトから呼ばれる共通部品のことです。シェルスクリプトから呼ばれるものというと?

    関数は共通部品になる
    mingos
    mingos 2008/02/06
    シェルスクリプトの関数の使い方
  • 1