タグ

ShellScriptに関するDNPPのブックマーク (8)

  • シェルスクリプト入門 [制御構文]

    制御構文 if 条件によって処理を分岐させたい場合は、if文を使用します。 シェルスクリプトのif文は下記のような構文になります。 if、スペース、[ 条件 ] という文法となりますが、条件の前後にはスペースを入れないと、エラーとなりますので注意が必要です。「 if [ 条件 ] 」という書き方を「 if test 条件 」と書くこともできます。elif, else は省略することも可能です。また、条件が偽の場合に処理を行いたい場合は、「! 条件」と記述します。下記は、簡単なif文のサンプルです。 test.sh

  • シェルの変数に慣れる

    ユーザー定義変数の使い方 変数は、シェルの世界、とくに英語のドキュメントでは「パラメータ」と呼ばれていますが、日語でパラメータというとどうも違う意味にとられがちなので、ここでは「変数」と呼ことにしたいと思います。ではシェルスクリプトにおける「変数」の取扱と特徴について見ていくことにしましょう。 シェルやシェルスクリプトで変数を定義する場合は、 のように記述します。とくに前もって変数を宣言したりする必要はありません(宣言することもできますが)。‘=’の両側にスペースをあけたりしてはいけません。C言語などの変数代入などの際にスペースをあける癖のある方は気をつけてください。 格納された値を参照する場合は、変数の先頭に‘$’をつけます。ためしにechoを使って標準出力に変数を表示してみます。

    シェルの変数に慣れる
  • UNIX & Linux コマンド・シェルスクリプト リファレンス

    目次 当サイトについて bash シェルスクリプト入門 -シェルスクリプトのいろは- コマンド Tips シェルスクリプト Tips 変数を使用する 配列を使用する 入力と出力 if 文と test コマンド for 文の使用方法 while 文の使用方法 case 文の使用方法 関数の使用方法 引数を処理する 終了ステータス シグナルと trap コマンド フィルタを使用した文字列操作 1 フィルタを使用した文字列操作 2 日付を取得する 文字コードと改行コード シェルスクリプトのデバッグ AWK リファレンス (Deprecated) シェルスクリプト ライブラリ 『ether.sh』 お知らせ Bluesky を始めました @sunone.me 変更履歴 2023.10.07 ページ内リンクを修正した。 2021.02.01 このサイトに「もう 1 ページ追加しよう」と思ってから、も

    UNIX & Linux コマンド・シェルスクリプト リファレンス
  • シグナルと trap コマンド | UNIX & Linux コマンド・シェルスクリプト リファレンス

    シグナルと trap コマンド シグナル シグナルとは? シグナルとは、実行中のプロセスに対して、さまざまなイベントを通知するために送出されるものである。 よく使用される、プロセスを終了するためのシグナルである SIGTERM や SIGKILL などのほかにも、数十種類のシグナルが存在する。 使用可能なシグナルの一覧は、コマンドラインから kill -l を実行することで参照可能である。 $ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19)

    シグナルと trap コマンド | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • Linux上でシェルが実行される仕組みを,体系的に理解しよう (bash 中級者への道) - 主に言語とシステム開発に関して

    バッチのまとめTOPへ bash 初級者は,簡単なコマンドが並んだだけの小さなスクリプトを書くことができる。 しかしシェルの動作原理をよく理解しておらず, 一歩進んだことをやろうとするとつまずく。 シェルスクリプトの中級者になるためには, Linux上でシェルが動作する仕組みを体系的に理解しておく必要がある。 (1) シェルとコマンドについて (1−1) シェルとは,OSに命令を出すために,OSを包んでいる外膜である。 (1−2) Linuxログイン時には,そのユーザ用のログインシェルが起動する。 (1−3) ユーザが打ち込んだコマンドは,実行前に,bashによって整形される。 (1−4) コマンドの先頭の文字列は,実行可能ファイルか,またはbashの組み込みコマンドである。 (2) コマンド間の連携について (2−1) コマンド呼び出しとは,サブプロセスの生成である。 (2−2) 親プロ

    Linux上でシェルが実行される仕組みを,体系的に理解しよう (bash 中級者への道) - 主に言語とシステム開発に関して
  • Debianでの起動処理(init)とランレベル(rc.d)の制御

    DebianはRedHat系Linuxとは起動時のRunLevelの振り方が異なります。 これは、/etc/inittabを見れば一目瞭然です。Debianでは、まず、/etc/rcS.d内を実行し、そこから指定されたデフォルトランレベルのrc*.dを実行します。 なお、RedHat系Linuxでは、以下のようなRunLevelの割当をしてあります。 init0 = 停止 init1 = シングルユーザーモード init2 = NFSを使用しないテキストログインモード(マルチユーザーモード) init3 = テキストログインモード(マルチユーザーモード) init4 = 未使用 init5 = GUIログインモード(マルチユーザーモード) init6 = 再起動 Debianでは、 init0 = 停止 init1 = シングルユーザーモード init2 = マル

  • フルデジット有限会社|サーバ運営Tips|よく使うLinuxコマンド|サーバー運営上必要なコマンド

    update-rc.d - サーバー運営上必要なコマンド ランレベルに合わせて自動起動及び停止させる設定を行う (squeeze以降の使用は推奨されていない。) →現在はinsservコマンドを推奨 ■よく使う形(例) ※apacheをランレベルに合わせて自動起動及び停止させる設定を行う。 # update-rc.d apache defaults Adding system startup for /etc/init.d/apache ... /etc/rc0.d/K20apache -> ../init.d/apache /etc/rc1.d/K20apache -> ../init.d/apache /etc/rc6.d/K20apache -> ../init.d/apache /etc/rc2.d/S20apache -> ../init.d/apache /etc/rc3.d/

  • init.d スクリプトを書こう

    私が 1997 年頃に Slackware から Debian にやって来たとき、 悩んだことのひとつが起動スクリプトでした。 Slackware では rc.local というファイルに起動コマンド列を べた書きすればよかったのですが、 Debian では start, stop, restart などの引き数をとって、 ひとつのスクリプトで起動・停止・設定変更などを行います。 このため走っているデーモンプロセスを捕まえるために start-stop-daemon という独自コマンドが多用されることになりますが、 これは使い方に多少のコツがあります。 この文書では、これまでに自前の起動スクリプトを書いた経験から、 そのへんのポイントをいくつか書いておこうと思います。 ただまあ、 シャットダウンに気を使わなくていい いざとなったらスーパーユーザ権限でモゲればいい という場合も結構多いと思う

  • 1