タグ

shellに関するfrsh_mtのブックマーク (8)

  • shell のちょっとしたテクニック - odz buffer

    後輩が cat README | tr ' ' '\n' | sort | uniq -c | sort -nr | head てなテクニックを見て、びっくりしたみたいな話をしていたのだが、こういうパイプラインを利用するテクニックを学んでいないのは色々損な気がする。 ていうか、サーバで丸一日以上かかるような処理を実行するのもしょっちゅうなのに、GNU screen も nohup も知らないってのはいろいろ支障があるような気もするのだが、だれも教えないものかなぁ。 ということで、bash or zsh のちょっとしたテクニックとか*1。リダイレクトとかパイプラインは略。 連続実行 単純に連続実行。 % foo; barfoo が正常終了したときだけ bar を実行 % foo && barfoo が正常終了しなかったときだけ bar を実行 % foo || bar&&、||は来は論理演

    shell のちょっとしたテクニック - odz buffer
  • Ruby1.9が入っていないと端末に「アナログ」と表示する.bashrc - aike’s blog

    Ruby1.9がいよいよ安定してきたようで、そろそろ試さなくてはと思っています。でも、なんというか必要に迫られないのでなかなか全面的な導入に踏みきれません。 というわけで、Rubyを1.9にするよう促すプロンプト設定を考えました。Rubyのバージョンがまだ1.8の場合、端末の右上に「アナログ」と表示されます。どうぞご利用ください。 .bashrcの最後に以下の内容を書くと設定できます。 ruby -v | egrep '^ruby 1\.9' >/dev/null if [ $? -ne 0 ]; then PS1="\033[s\033[1;72H\033[37mアナログ\033[39m\033[u$PS1" fi ※Ruby1.9は旧バージョンと互換性のない機能が一部あります。導入には充分注意してください。

    Ruby1.9が入っていないと端末に「アナログ」と表示する.bashrc - aike’s blog
  • ウノウラボ Unoh Labs: シェルの仕組み(後編)

    ウノウでは特に最近、積極的にエンジニアを採用しています。 採用ページをご覧になり興味のある方、ぜひご応募ください!! Find Job!でも募集開始してます! 尾藤正人(a.k.a BTO)です 前回の勉強会でシェルの仕組み(前編)というのをやりましたが、今回はその後編をやりました。 前編と合わせて見ていただくと、シェル内部で使われている仕組みが一通り分かるようになるかと思います。 資料及び動画を公開しますので、もしよろしければご覧ください。 Shell 2

  • ウノウラボ Unoh Labs: シェルの仕組み(前編)

    尾藤正人(a.k.a BTO)です 社内勉強会でシェルの仕組みというのをやってみましたので、資料を公開します。 シェルはUNIXを使う上で、必ず使用される非常に身近なツールです。 毎日使用しているツールにも関わらず、具体的にどのような動作をしているのか知らない方も多いのではないのでしょうか。 シェルの使い方に関する情報はたくさんありますが、シェルの実装についての情報はほとんどないなと思ってシェルを題材に取り上げました。 シェルにはUNIXプログラミングのエッセンスがぎっしりつまっています。 シェルの内部の仕組みが分かるようになると、UNIXプログラミングが分かるようになると言っても過言ではないのかもしれません。 シェルの仕組み(前編) - Upload a Document to Scribd 社内勉強会中にustreamで動画を流していたのですが、動画を保存するのを忘れてしまいました。

  • ウノウラボ Unoh Labs: シェルスクリプトでプログラミング

    パワプロよりパワポケが好きなbokkoです。でも最近はPSPで遊んでいます。 今回はシェルスクリプトやコマンドラインでよく使うプログラムとその使用例の紹介です。 シェルスクリプトでは既にあるコマンドを組み合わせてプログラムを書きます。しかし、シェルスクリプトは分岐や繰り返しといった制御構造を持ち、関数や変数を扱ったり、四則演算を行うこともできます。 演算 シェルスクリプトで演算を行うにはexprを使います。 add.sh #!/bin/sh A=1 B=2 C=`expr ${A} + ${B}` echo ${C} ↑のadd.shを実行すると、 $ sh test.sh 3 $ と表示されます。↓のようにexprの引数をスペースで区切らず渡してしまうと、単に1+2と表示されてしまいますので、注意しましょう。 #!/bin/sh A=1 B=2 C=`expr ${A}+${B}` ec

    frsh_mt
    frsh_mt 2008/07/18
    jsのcompressorあたりを後で勉強する
  • rush

    rush is a replacement for the unix shell (bash, zsh, etc) which uses pure Ruby syntax. Grep through files, find and kill processes, copy files - everything you do in the shell, now in Ruby. Previously if you wanted to count the number of classes in your project, you might use a bash command like:

  • Rubyで動くシェル·rush MOONGIFT

    シェルはPC操作の基とも言えるものだが、構文を覚えるのが若干面倒くさい。コマンドによって指定するものが違うので、Grepの時はどうだったか、その結果を削除する場合はこういった感じで…ということを覚えておかないといけない。 シェルスクリプトも同様で、習得するのに若干の時間を要する。そこで普段使い慣れたプログラム言語をシェルにしてしまったのがこのソフトウェアだ。 今回紹介するオープンソース・ソフトウェアはrush、Rubyで作られたシェルだ。 rushはgemでインストールできるので、ごく手軽に使い始めることができる。構文はRubyなので、Rubyに慣れた人にとっては使いやすいだろう。バッククォートをつければ通常のコマンドも実行できる。 例えばhome['/Users/nakatsugawa'].ls、でファイルの一覧が返ってくると言った具合だ。面白いのはリモートにも対応している点で、rus

    Rubyで動くシェル·rush MOONGIFT
  • 初めてシェルスクリプトを書くときに知っておきたいこと - Unix的なアレ

    他の言語をを書き慣れてから、シェルスクリプトを書こうとするとしょうもない部分でハマったりすることがあります。「簡単な処理だからシェルスクリプトで書くか」と思っても無駄に時間がかかってしまっては仕方ないですよね。 今回は初めてシェルスクリプトを書くときに、ハマりそうな点について説明をしたいと思います。 実行権限をつける 単純にファイルを生成しても下記の用に実行しようとしても実行はできません。 # touch test # ./test sh: ./test: Permission denied # touch foo # ./foo sh: ./foo: Permission denied これはファイルに実行権限がついていないため、起きる現象です。 chmodコマンドを使って実行権限をつけてやりましょう。 # chmod +x test # ./test # chmod +x foo #

    初めてシェルスクリプトを書くときに知っておきたいこと - Unix的なアレ
  • 1