タグ

シェルスクリプトに関するa_t_o_a_t_oのブックマーク (5)

  • OSに付属するシェルスクリプトを読んで技術を盗む

    今回から、OS付属のシェルスクリプトを読んでいく。多くの人が使っているスクリプトを読むことで、シェルスクリプトならではの書き方、テクニックを身に付けることができるはずだ(編集部) 他人の技術を盗まなければ進歩はない 外国語をマスターするにも、楽器の演奏を覚えるにも、上達するにはただ練習するだけではダメだ。素晴らしいお手を見つけて、よく観察し、何度もまねることが必要だ。お手から技術を「盗む」ことが大切だということだ。 プログラミングでも同じことが言えると思う。文法を覚えて、ただひたすらプログラムを書くだけではなかなか上手にならない。スキルのある人のコードを見て、技術を盗もう。開発チームのメンバーそれぞれが書いたコードを持ち寄って、お互いに批評し合う「コードレビュー」に参加している、あるいはリーダーとして主催しているという人は多いと思う。このコードレビューも、人から技術を盗む良い機会と言え

    OSに付属するシェルスクリプトを読んで技術を盗む
  • 引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    引数を処理する 引数とは? 引数 (ひきすう) とはコマンド (シェルスクリプト) 実行時に、コマンドラインから渡される値のことである。 引数は実行時にプログラム内で参照され、シェルスクリプトの実行結果 (動作) に影響を与える。引数はパラメータと呼ばれることもある。 → コマンド名に続けて引数としてコマンドに渡したい値のリストを指定する。 引数はコマンド名に続けてスペース区切りで指定する。引数として指定可能な値の数は各コマンドにより異なる。 【参考】 引数とオプション コマンド実行時に指定する値には引数とオプションがある。引数は実行に使用されるファイル名や出力されるメッセージなどを指定するのに使用される。 一方、オプションは -f などのように - (ハイフン) とアルファベット1文字で表記され、主にコマンドの振る舞い方を指定する目的で使用されるものである。 また、オプションは -a -

    引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • シェルスクリプト入門 [関数・オプション]

    関数・オプション 関数の作成 シェルスクリプトでも関数を作成することができます。 関数は下記のような構文になります。 C言語のように括弧の中に引数を記述する必要はありません。関数に引数を渡す場合は、シェルと同じようにスペース区切りで渡します。関数に渡された引数を参照する場合も、シェルと同じように「$1, $2, ...」と参照します。呼び出し元に終了コードを返す場合は「return コード」と記述します。以下は関数を使用したサンプルスクリプトです。 func.sh #!/bin/sh arg_chk() { # 引数の数が2の場合 if test $# -eq 2 then return 0 # 引数の数が2以外の場合 else return 1 fi } arg_chk $@ ret=$? echo "引数チェック結果

  • サービスの実行

    6.3 サービスの実行 ランレベルとサービス 5章では起動時に /etc/inittab の設定にしたがって init コマンドが実行され, ランレベルという起動するモードがあることを説明しました. ここではそのランレベル毎に起動されるサービスについて確認します. 起動時に実行される処理はたくさんありますがそのほとんどはシェルスクリプトによって制御されています. ランレベルに応じて実行されるシェルスクリプトは "/etc/rc.d" ディレクトリにランレベル毎にディレクトリに分かれて用意されています. [student]$ ls /etc/rc.d init.d rc.local rc0.d rc2.d rc4.d rc6.d rc rc.sysinit rc1.d rc3.d rc5.d [student]$ [student]$ ls /etc/rc.d/rc3.d/ K14alsas

  • @IT:シェルスクリプトの一部分をデバッグするには

    シェルスクリプトをデバッグするにはで説明したデバッグ方法は、シェルスクリプト内のすべての実行状況が出力される。そのため、長いシェルスクリプトでは出力される情報が膨大になり、問題の個所を調べるのに時間がかかる。そこで、調べたい部分だけ実行状況を出力する方法を紹介する。 シェルスクリプトの一部分だけをデバッグするには、その部分を以下のように「set -x」と「set +x」で囲む。 #!/bin/sh デバッグが必要ない部分 set -x ←実行状況の出力を開始 デバッグが必要な部分 set +x ←実行状況の出力を終了 デバッグが必要ない部分

  • 1