などと記述するが、この「#!」のことを「シェバング」(shebang) と呼ぶ。また、この行全体を「シェバング行」と呼ぶこともある。また、「シェバング」ではなく、英語発音により近いい「シバン」と表記する場合もある。なお、シェバングの語源は「sharp bang」「shell bang」など、いくつかあるようだ。
Auto Scaling を使っているとスケールインによってインスタンスが Terminate されるので、ログファイルは Fluentd などを使ってログサーバ(もしくは S3 などのストレージ)に集約していると思います。 基本的に Fluentd を使っておけばいいのですが、 ログ集約にリアルタイム性を求められない(バックアップ用途など) ユーザーがアップロードしたバイナリファイルを集約したい といった場合には向いていません。 もっと簡単にローカルのファイルを S3 に同期したかったので Amazon Linux 向けの init スクリプトを書きました(最初のコミットは 2014 年ですが最近まで放置してました…)。 manabusakai/s3-sync: Upload the log file to Amazon S3. 使い方は init スクリプトと conf ファイルを置く
シェルスクリプトの中で、スペース区切りもしくはタブ区切りのレコードを扱うことがよくあると思います。 たとえば、前回のエントリ「AWS CLIとjqを使って、AWSのELBボリュームがアタッチされているEC2インスタンス名を出力するワンライナーを書いた - 双六工場日誌」のスクリプトの出力は以下のようになります。 i-ec56a9f5 vol-07d00601 servername i-ec56a9f5 vol-8f550991 servername このようなレコードの特定の列を取り出して、処理する際にどうするのが効率的か、というのがこのエントリのお題です。 非常に古い話題なので、昔からシェルスクリプトを書いている人には自明な話ではありますが、最近、シェルの標準機能の話を聞く機会がなく、失われつつある技術になってきている気がしているので、改めて確認ということで。 例として挙げたレコードから
いまさらながら備忘録的な。 私がシェルスクリプト内でよく使うのは set -u 未定義の変数を参照するとエラーメッセージを表示 set -e exit 0 以外のとき、シェルスクリプトを即時停止 くらいです。 あとなんちゃって Vimmer の私は、なんとか rc に set -o vi も基本ですが。 パクりですが、よさ気なのを表化しときます。 オプション (短縮形) オプション (短縮していない -o 何々) 意味 -n -o noexec コマンドを実行せず、構文エラーのチェックのみを行う -a -o allexport 新規に作成した変数や関数、値を変更した変数や関数を、以後、自動的にエクスポートする -B -o braceexpand シェルのブレース展開を有効にする (シェルスクリプト内ではデフォルトでどうなるんだっけ?今度確認) - -o vi コマンドライン編集を vim
シェルスクリプト入門として, 基本的な書き方をまとめました. 長いですが, 1ページにまとめてみました. 良かったら目次も参考にしてご覧になって下さい. 目次 シェルスクリプトとは 作り方, 実行の仕方 コメント ユーザーからのキーボード入力を受け付ける 変数 通常の変数 特別な変数 演算子 数値計算演算子 比較演算子 コマンドを繋げる演算子 条件文に使える比較演算子 条件文 制御構文(分岐) if文 case文 制御構文(ループ) for文 while文 until文 select文 文字列処理 文字列置換 削除 複数行のテキストの出力(ヒアドキュメント) 関数 シェルスクリプトとは シェルスクリプトとは, シェルの動作をまとめて記述したスクリプトのことです. 決められた文法にしたがって処理を記述することによって, シェルでの処理をまとめて行ったり, 作業を自動化できたりします(例 複数
GUIに対するCUIの優位性の1つとして、作業の自動化が挙げられる。普段行う作業を1つのコマンドにまとめたり、複数のファイルに対して同じ処理を繰り返し行ったりといったことが比較的簡単なのだ。WindowsにもWSH(Windows Script Host)が用意されている。しかし、Linuxのbashスクリプトの方が簡単なのだ。 シェルスクリプトの基本はコマンドを並べること コマンドによる作業を自動化するには、その内容を記述したテキストファイルを用意すればいいのです。このテキストファイルを「シェルスクリプト」といいます。 最も簡単な自動化 最も簡単なシェルスクリプトは、コマンドをそのまま並べることです。例えば、tarコマンドでファイルのバックアップを取るとしましょう。単純にルートディレクトリから下を全部バックアップするにしても、/devや/tmpは必要ないですね。すると、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く