b.logフロー制御ループ構造until条件が真になるまで繰り返し実行される。120while条件が真の間繰り返し実行される。server.txtweb1web2web3db1以下では、server.txtから1行ずつ読み込み、文字列に”web”が含まれている場合に出力する。###web1web2web3for馴染みのあるfor文。他の高級言語の構文と同様に書ける。###012345678911拡張for文、foreach文のようにも書ける。###web1web2web3db1条件構造if基本的な条件分岐。ifでもなく、elifに注意。3case他の高級言語でいうとswitch文に当たる。比較部分は、(.+)と(で囲っても良い。以下は、起動時に渡された引数をParseするシンプルな例。/tmp最新のbashではコマンドの区切り文字に、;;、;&、;;&が用意されておりそれぞれ解釈が異なるので注意。;;は、command-listの実行を終え次の句の評価へ移る。throughの動きになる。;;&は、引き続き後続するwordのマッチを試みる。実際の動きは以下のようになる。onverselectシンプルな選択リストを表示して標準入力から値を受け取ることができる。wordsが省略されている場合は、$@が指定されたかのように振る舞う。'apple'((..))、$((..))算術式。statusは、式の評価の結果が0の場合は1を、そうでない場合は0を返す。Matchingによる条件評価が可能。test条件の評価を行なう。~/.bashrcfiグルーピングコマンドコマンドをグループ化して実行できる。)サブシェルで実行される。以下の例では、サブシェルでカレントディレクトリを一時的に変更し、また元のカレントディレクトリで後続の処理を実行している。サブシェルで定義した変数は、元のコンテキストでは無効となっている。}現在のシェルのコンテキストで評価される。リストのコマンド実行前後でカレントディレクトリは変更されている。context/Users/guest/workspaceまた、以下のようにリダイレクトと組み合わせるとログファイルへの出力などを一箇所にまとめることができる。matchCoprocessesサブシェルで非同期に実行する仕組み。サブシェルとはcoproc実行時に生成されるファイルディスクリプタを経由してやりとりすることができる。NAMEは、commandのPIDやファイルディスクリプタを参照するための変数に使われる識別名。指定しない場合は、デフォルトでCOPROCという名前が使われる。サブシェルのPIDは、NAME_PIDで参照できる。]コマンドをグループ化して名前で一連のコマンド群を呼び出すことができる。以下ような特徴がある。nameで関数定義を削除することができる。}では、前後にブランクや改行での区切りが必要。-tで宣言するのいずれかの方法を用いる必要がある。FUNCNEST変数でネスト数を指定することができる。ネスト回数を超えて関数を呼び出しした場合、関数の実行は中断される。数値で関数の終了ステータスを指定できる。指定がない場合は、関数の最終コマンドの実行結果が関数の終了ステータスとなる。varnameでvarnameは関数ローカルの変数となる。functraceを使って以下のようなデバッグもできる(以下のサンプルは簡単かつ稚拙な例、bashdbの方が高度で実用的である)。i=i+1done}sampleこれを実行すると以下のようになる。do条件式[[、test、[で使われる。以下数値比較で用いる。名前:moritetuITエンジニア地方でITエンジニアをしています。Webやスマフォアプリ、Hadoopなどのビッグデータに関するシステムに関わり、現在は企画開発の業務をしています。読書ホーム検索トップサイドバータイトルとURLをコピーしました。