タグ

Linuxとシェルスクリプトに関するyuuturn0422のブックマーク (9)

  • 変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → 他のプログラミング言語と同様に = を使用する。 シェルスクリプトでも C言語などと同様に = を使用することで変数に値を設定することができる。ただし、C言語とは違い = の前後にスペースがあってはいけない。 また、変数名の大文字と小文字は区別されるため変数 VAR と変数 var は別物として扱われる。さらにシェル変数に「型」は存在しないので、文字列や数値を区別なく設定できる。 ポイントをまとめると以下のとおりとなる。 = を使う 値の設定時は変数名の先頭に $ を付けない ($ は参照時のみ) = の前後にスペースを入れない (前後にスペースがあるとエラー) 型は存在しない (declare コマンドや typeset コマンドで似たようなことができるが推奨はしない) 変数名の大文字・小文字は区別される (VAR と var は別物) 特に「2」は初心者が犯しがちなミスなので注意す

    変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • bashで10回ループ(Bashによる指定回ループとファイル名を001にする) - それマグで!

    アクセスログ見てたらBashでループさせたい人が多いようなので。 BASHで10回ループ for i in {0..10};\ do \ echo $i;\ done;指定回数分ループするときは{}(カーリーブレース)で囲むのがミソ。 seq を使う例 for i in `seq 1 10 `;\ do \ echo $i;\ done;`seq 1 10 ` は覚えにくいし直感的とは言い切れない 007.txtのような0埋めにする 007.txtのような0パディングにするにはsprintfと組み合わせる for i in {0..10};\ do name=$(printf accesslog.%03d.log $i);\ echo $name;\ done; accesslog.000.log accesslog.001.log accesslog.002.log accesslog.

    bashで10回ループ(Bashによる指定回ループとファイル名を001にする) - それマグで!
  • shcでシェルスクリプトをバイナリ化する | 俺的備忘録 〜なんかいろいろ〜

    シェルスクリプトの中身を見れないようにしようと思って調べていた所、shcというシェルスクリプトをバイナリ化するプログラムがあるようだったので使ってみる事にした。 前提として、利用にはmakeが必要なので、gccが必要。 1.インストール まずはインストール。 こちらのページから、以下のコマンドでダウンロード、コンパイルを行う。 HTTP="http://www.datsi.fi.upm.es/~frosal/" && curl -s $HTTP | grep .tgz | awk -F\" '{print $2}' | sed 's/^.\///g' | xargs -I{} echo $HTTP{} | xargs wget tar xzvf shc-*.tgz cd shc-* make make install これでインストールが完了した。 2.バイナリ化を行う shcコマンドは、

  • bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog

    こんにちは。 マネーフォワードでアグリゲーション開発を担当しています中川です。 今回のブログは、私が bash スクリプトを書く際に心がけている事のおさらいをします。 知ってて当たり前のことかも知れませんが、意外と理解されていないアレです。 では、私が bash スクリプトを書く際によく使う記述を一つずつ紹介します。 2種類の shebang シェルスクリプトの一行目に必ず記述する #! で始まる行を shebang と言います。 bash スクリプトの shebang は、bash を絶対パスで指定する方法と、env を使って指定する方法の二種類あります。 bash を絶対パスを指定する方法 #!/bin/bash env を使ってを指定する方法 #!/usr/bin/env bash 前者は /bin/bash が使われます。 (/bin/bash が存在しなければスクリプトの起動時に

    bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog
  • spark: シェルスクリプトで棒グラフ表示

    B! 251 0 0 0 GitHubで面白そうなシェルスクリプトを探してる時に見つけた Spark by holman について。 数値を棒グラフ上に表示してくれるスクリプトです。 Spark 使用例 Spark Spark は数値群を引数に与えるか標準入力で与えてあげると その数値群を棒グラフに変換してくれるシェルスクリプトです。 インストールはGitHubのレポジトリ から直接sparkというスクリプトファイルを取ってきてPATHの通った所に入れるか、 MacであればHomebrewで $ brew install spark でsparkコマンドが使えるようになります。 使い方は非常にシンプルで $ spark 0 20 40 60 80 100 ▁▂▃▅▆█ こんな感じで数値を与えるとそれを棒グラフにしてくれます。 インプットに使える数字は少数も使えますが、 実際に使われる際には

    spark: シェルスクリプトで棒グラフ表示
  • コマンドを並列に実行するGNU parallelがとても便利 - りんごがでている

    最近のコンピュータは複数のCPUコアを持っているので並列にコマンドを実行することができます。 たくさんの同じようなファイルに同じ処理を実行することは、私のやっているバイオインフォマティクスではよくあります。 しかし自分で並列に実行するスクリプトを書くことはそれほど簡単ではなく、ログや実行結果の確認など煩雑な処理を書かなければいけません。 この記事では、そうした処理を簡単にするGNU parallelというツールを紹介します。 GNU parallel UNIX系のOSではインストールはとても簡単です。MacでしたらHomebrewを使って、Linuxでは各ディストリビューションのパッケージマネージャからインストールできます。 詳しくはGNU parallelのウェブページを参照して下さい(http://www.gnu.org/software/parallel/)。 Homebrew: b

    コマンドを並列に実行するGNU parallelがとても便利 - りんごがでている
  • 【 set 】 シェルのオプションを設定する

    CTRLキーを押しながらDキーを押しても,シェルを終了しないように設定する。exitコマンドは利用できる

    【 set 】 シェルのオプションを設定する
  • 終了ステータス - UNIX & Linux コマンド・シェルスクリプト リファレンス

    終了ステータス 終了ステータスとは? コマンド終了時には「終了ステータス (exit-status)」と呼ばれるコマンドの成否を表す数値が特殊変数 $? に自動で設定される。 各コマンドにより異なるが、一般的には、 コマンド成功時には「0」 失敗時には「1」(コマンドやエラーの種類によっては 0 以外) が設定される。 → 直前に実行したコマンドの成否は、特殊変数 $? に設定されている値で確認する。 終了ステータスを設定 シェルスクリプトでは exit コマンドに指定したパラメータ (0 もしくは 1 ~ 255 の正の整数値のみ可) が、そのシェルの終了ステータスとなる。シェルスクリプトにおいても正常終了時は exit 0 で、異常終了時には exit 1 で終了するようにするのが慣例である。 関数も同様に return コマンドに指定したパラメータが終了ステータスとなる。 → シェル

    終了ステータス - UNIX & Linux コマンド・シェルスクリプト リファレンス
  • シェルスクリプト入門 [制御構文]

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

  • 1