trueコマンドについてメモ
trueコマンドは何もせずに終了し、ステータス0を返す。「:」(コロン)でもtrueと同様の働きをする。シェルスクリプトにおいてループ処理を継続させるために、while文などで利用される。
trueコマンドは何もせずに終了し、ステータス0を返す。「:」(コロン)でもtrueと同様の働きをする。シェルスクリプトにおいてループ処理を継続させるために、while文などで利用される。
ジョブ関連のシェルビルトインコマンドについてざっくりメモ。プロセスとジョブの違いは、Linuxカーネルが処理する単位がプロセスで、ユーザにとって判りやすくした処理の単位がジョブ、と捉えておくとよい。
ビルトインコマンドはシェルに組み込まれているコマンド。ソフトウェアとしてbashに含まれており、ファイルとしては存在しない。よってwhich、whereisコマンドでパスを探しても結果は得られないが、typeコマンドでビルトインか外部コマンドかの確認ができる。
シェルにおける変数展開について。変数展開{ }(ブレース)の中で各種文学列演算子を使い、変数の存在や値をチェックすることができる。
シェルスクリプトにおいて、関数は1つ以上の処理に名前をつけて定義したもの。関数の定義が読み込まれるとメモリに常駐するため、一度読み込まれた関数は高速に動作し、削除しない限り何度でも繰り返しの利用が可能となる。
select文は対話的なスクリプトで、ユーザに何らかの入力を促すための構文。ユーザに選択候補を提示しリストの中から1つをユーザに選択させ、その選択結果を変数に代入する。
while文は条件が真として満たされている間、繰り返し命令を実行する。until文は逆に条件が偽として満たされていない間、命令を実行する。
case文は条件判定の対象の値によって命令を分岐させる。多肢の条件分岐を記述可能。ある1つの変数の値に対応してさまざまな動作をさせたい場合に利用する。
for文は値のリストを1つずつ指定された変数に代入し、複数の値に対して繰り返し命令を実行する。スクリプトの実行時に複数の引数が与えられた場合、それらの引数を1つずつ処理していく用途などで利用する。
シェルスクリプトにおいて、if文は条件の評価に基づいて処理を分岐させる。 評価は条件式が返すステータスによって行われる。fiはコマンドの終了を示す。 パターン1 パターン2 パターン3 単純な条件チェックにはパターン1を使用。条件が真にならなかった場合は何も実行されない。 パターン2では真偽の両方で何らかの命令が実行される。 パターン3は複数の条件式を設定できる。 条件判定の対象(変数)が同一で値のみ違う場合は、case文を利用してもいい。 then/else/fiの前には改行が必要だが、「;」で代用できるため以下のような書式でも可。 以下でも可能ではあるが・・・、判りづらいので使用は避けた方がいいような。 条件式内のAND条件は-aで表す。-oならOR条件になる。 3つ以上の条件は( )カッコを用いてネストする。ネストは必ずしも必要ではないが、 分かりやすくするためにも。書式の例としては以下のようになる。 カッコの前は\(バックスラッシュ)でエスケープすること。 条件式1 AND (条件式2 OR 条件式3) ※条件式1が真かつ条件式2または条件式3が真
シェル・コマンドにおける特殊な変数。例えば終了ステータスを表す「$?」について。「正常終了なら0」くらいしか知らなかったが、数値によってもうちょっと細かい所まで把握できるようだ。
LinuxやUNIXで書くシェルスクリプト。基本的なこともすぐ忘れてしまうので…、testコマンドで使う条件式一覧などをメモ。