タグ

bashに関するkutekenのブックマーク (6)

  • Big Sky :: bundle exec がウザい

    ruby のアプリを動かす時にいちいち bundle exec って書くのがダルい。書きたくない。でもシステムに入ってたり違うバージョンの物が動いて変な動作をされても困る。 どうにかしてこのダルさを解消できないかと考えてみた。 まず rbenv を使ってるなら gem でインストールされるコマンドは必ずシェルのラッパとして生成され、そこから物が起動する様になっている。例えば rails であれば以下の様なシェルになっている。 #!/usr/bin/env bash set -e [ -n "$RBENV_DEBUG" ] && set -x program="${0##*/}" if [ "$program" = "ruby" ]; then for arg; do case "$arg" in -e* | -- ) break ;; */* ) if [ -f "$arg" ]; th

    Big Sky :: bundle exec がウザい
  • bashとsedで複数ファイルのテキストを置換する方法

    複数ファイルにまたがって同じテキスト置換を行う方法。 例えばディレクトリ内のHTMLファイル全てに対して置換を行いたい場合1個1個ファイルを開いて編集するのは面倒なので、一発で行いたい。 find . -name "*.html" -exec sed -i 's/元テキスト/置換後テキスト/' {} \; 何をしているのか細かく説明すると find . -name "*.html" -exec このディレクトリ(.)の中にある名前が*.htmlにマッチするファイルに対して sed -i 's/元テキスト/置換後テキスト/' {} \; 上書き保存で(-i) 元テキストを置換後テキストに変更する となる。 ちなみに {} はfindの結果で得た(この場合はhtmlファイルのファイル名)が入るようになっている。

  • bash - 文字列の操作 - あんみのの備忘録

    フィルタを使った文字列処理 実行した結果を``で囲みもとの変数に代入する $ str="abc def ghi" $ str=`echo "$str" | sed -e "s/def/xyz/g"` $ echo "$str" abc xyz ghi 文字列の連結 変数を並べて書く。 余分なホワイトスペースの削除 echoコマンドで出力する際にシェルが余分なスペースを削除するので、それを元の変数に戻す。 $ str=`echo $str` 文字列の長さ exprのlengthオプションを使う $ expr length "$str" 文字列の中の文字列 ある文字列がその中に含まれているか判定し含まれていればその行を書き出すのがgrepコマンド。 文字列が含まれていれば真を、含まれていなければ偽を返す。 #!/usr/bin/sh if echo "$1" | grep [0-9] ; th

    bash - 文字列の操作 - あんみのの備忘録
    kuteken
    kuteken 2011/11/26
  • Bashで覚えておくとよいデータ構造 - 配列 - いろいろ解析日記

    Bashで必要なデータ構造の覚書です。 目次 配列 配列を生成する。 配列にデータを追加する。 配列にデータを格納する。 配列からデータを取得する。 配列中のすべてのデータに同じ処理をする。 関連記事 配列 配列は複数件のデータを扱うためのデータ構造です。 ■配列を生成する。 配列の生成は以下のように行います。 配列の名前=() 配列の名前=("データ" "データ" "データ")配列の生成では、配列の名前を指定します。 もし、生成時にデータを格納する場合に、()内にデータを指定します。 例えば、空の配列ARRAY1を生成するには、以下のように書きます。 ARRAY1=()例をもう一つ。データを3つ格納した配列ARRAY2を生成するには、以下のように書きます。 ARRAY2=("history" "japanese" "math") ■配列にデータを追加する。 配列へのデータの追加は以下のよ

    Bashで覚えておくとよいデータ構造 - 配列 - いろいろ解析日記
    kuteken
    kuteken 2011/11/26
  • bash (ver 2) 例文辞典

    このページはUNIXシェルのbashの用例を扱っています(UNIXコマンドの用例も混在しています)。ただし、動作サンプルに関してはMacOS X上で行っている点とMacOS Xでしか動作しないコマンド、サンプルもありますので注意してください。一部のサンプルは特定条件下でないと動作しないものがあります。あくまでもサンプルなので必要に応じて改造して利用してください。 MacOS Xで実行する場合にはchmod 755 ファイル名などとし実行権限を指定してください。ダブルクリックして起動/実行させるためには保存したファイルの情報ウィンドウで開くアプリケーションをターミナルに設定してください。 *勉強用に作成したページなので間違いや不具合の出るサンプルがあります。致命的なもので、これはまずいというサンプルがありましたらopenspc@alpha.ocn.ne.jpまでメールをください。

  • bashで始めるシェルスクリプト基礎の基礎(1/2)

    GUIに対するCUIの優位性の1つとして、作業の自動化が挙げられる。普段行う作業を1つのコマンドにまとめたり、複数のファイルに対して同じ処理を繰り返し行ったりといったことが比較的簡単なのだ。WindowsにもWSH(Windows Script Host)が用意されている。しかし、Linuxのbashスクリプトの方が簡単なのだ。 シェルスクリプトの基はコマンドを並べること コマンドによる作業を自動化するには、その内容を記述したテキストファイルを用意すればいいのです。このテキストファイルを「シェルスクリプト」といいます。 最も簡単な自動化 最も簡単なシェルスクリプトは、コマンドをそのまま並べることです。例えば、tarコマンドでファイルのバックアップを取るとしましょう。単純にルートディレクトリから下を全部バックアップするにしても、/devや/tmpは必要ないですね。すると、

    bashで始めるシェルスクリプト基礎の基礎(1/2)
  • 1