タグ

shに関するyabu_kyuのブックマーク (32)

  • コマンドとシェルスクリプトで企業システムを作る ---USP研究所の取り組み #kernelvm

    Yoshikazu GOTO @goto_ipv6 上田さん:bashでCGIを書く人です。実物があります。USP友の会のWebサイトですが、裏bashです。 #kernelvm

    コマンドとシェルスクリプトで企業システムを作る ---USP研究所の取り組み #kernelvm
    yabu_kyu
    yabu_kyu 2013/04/16
  • 連載記事 「スマートな紳士のためのシェルスクリプト」

    シェルスクリプトはエレガントでなければならない スマートな紳士のためのシェルスクリプト(1)  気軽に使えるシェルスクリプト。しかし、気軽に使っていてはダメだ。OSの仕組みまで理解すると、ひと味違うスクリプトが書ける

    yabu_kyu
    yabu_kyu 2011/11/27
  • シェルスクリプトは文字通りの逐次実行 - シリコンの谷のゾンビ

    知り合いに気になったことを指摘された. 「シェルスクリプトは実行中にスクリプトを変更すると,変更されたスクリプト通りに動く」というものである. んなことあるかい,スクリプトは実行時にメモリに読み込まれるんでい!と思い込んでいたので,早速調べてみた. 同時作業をするので複数端末を立ち上げるか,screenを使うか,emacsのshellモードを使う. 以下のようなスクリプトを書く. # test.sh echo "start" sleep 5 echo "1" sleep 5 echo "2" sleep 5 echo "3" sleep 5 echo "4" echo "done" 実行する. % sh test.sh startすかさず上記コードの最後の行をコメントアウト # test.sh echo "start" sleep 5 echo "1" sleep 5 echo "2" s

    シェルスクリプトは文字通りの逐次実行 - シリコンの谷のゾンビ
    yabu_kyu
    yabu_kyu 2009/09/19
  • やっぱりawkは遅い - hogehoge @teramako

    外部コマンドは遅い。できるだけbuilt-inコマンドを使おうって話。 シェルでよくあるんだけど、ある区切りの○番目を取ってきたい、っていう場面で foo="aaaa,bbbb,cccc" bar=`echo $foo | awk -F, '{print $2}'` ってやる時がある。 けど、これ、むちゃくちゃ無駄。一回しか実行されないなら大したボトルネックにはならないが、ループの中で使うと酷い事になりがち。 awkの場合 #!/bin/sh typeset -i i=0 while (( i < 10 )) do echo "aaaa,bbbb,cccc" | awk -F, '{print $2}' >/dev/null i=$(( i + 1 )) done $ time ./awkTest.sh real 0m0.129s user 0m0.031s sys 0m0.098s re

    やっぱりawkは遅い - hogehoge @teramako
  • 第12回: シェル(tcsh、bash、zsh)の便利なライン・エディット機能

    yabu_kyu
    yabu_kyu 2007/04/28
  • 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
  • DSAS開発者の部屋:サーバ管理者向け無精のすすめ 〜ちょっと便利なツールの紹介〜

    弊社のLinuxサーバ、ネットワークインフラのDSASの特徴のひとつに、100台近くある全てのサーバの内容が(数個の役割設定ファイルを除いて)同期されているという点があります。 これにより、 スケーラビリティ 予備機をサービス投入するだけで済むので、テレビCMなど突発的な高アクセス時にも迅速な対応が可能です。 増強が容易 サーバをラックマウントしたら適当なサーバからまるまんまコピーすればクラスタに参加可能です。まとまった台数の増強をする際に、いちいちCD-ROMからOSをインストールしていると日が暮れちゃいます。 役割の変更が容易 ディスクの内容が同じなので、もし、メールサーバが故障しても、適当なWebサーバの役割設定ファイルを変更して再起動するだけでメールサーバに早変わりできます。 メンテナンスが容易 ディスク上のファイルを更新した場合は、rsyncなどで全サーバに同期コピーすれば更新完

    DSAS開発者の部屋:サーバ管理者向け無精のすすめ 〜ちょっと便利なツールの紹介〜
  • Ruby (Japanese)

    Ruby 手習い Ruby してみません? Ruby の便利なところ/ちょっとだけ Tips スクリプトのライセンスについて 「いつでも Ruby なんでも Ruby」 Software Design 2000/7 掲載 「いつでも Ruby なんでも Ruby/Ruby 事始め」 Software Design 2001/3 掲載 CVS で最新ソースコードの入手 ここでスクリプトを紹介している目的は、Ruby を使おうとしている人に「参考になればいいな」と思っているためです。 とり上げているスクリプトは、私が実際使っているものです。 汎用的には作られていないものもあったりするので、もしかするとすぐには要求を満たせないかもしれません。 でも、ちょっとした修正を入れれば使えることもあると思います。 ぜひ、便利なスクリプト言語(OOSL? Object Oriented Script Lan

  • http://znz.s1.xrea.com/t/?date=20060308

    yabu_kyu
    yabu_kyu 2006/04/30
    ある文字列を含む直近の履歴
  • Bourne Shell 自習テキスト

    Bourne Shell 自習テキスト (C) 1994-06-29 木村 孝道 シェルとは シェル (shell) とは unix のコマンドインタプリタで、ユーザ端末から入力され た文字列を解釈し、その指示に従って仕事をするプログラムです。しかし、シェル は決して特殊プログラムではありません。シェルも他のツールと同様にunix上の1 つのコマンドに過ぎません。シェルが他の多くのプログラムと違う点は自分自身が ある特定の仕事をするのではなく「他のコマンド類のまとめ役」として機能するこ とです。 なぜコマンドインタプリタが「殻」を意味するシェル (shell) なのでしょうか。 ユーザから見るとオペレーティングシステムの核(kernel)を貝殻のように包んでい ることに由来しているようです。Rod Maris, Marc H. Meyer著「The UNIX Shell Programin

  • SBP:入門UNIXシェルプログラミング 改訂第2版

    ブルース・ブリン(Bluce Blinn) 著 山下 哲典 訳 B5変形判、472ページ ISBN:4-7973-2194-6 体価格 3,200円 +税 UNIX入門書のロングセラー 待望のリニューアル UNIX使いの第一歩、シェルスクリプトの入門書。 シェルの文法に始まり、シェル関数、 シェルスクリプトの実践的なテクニックまで、 豊富な例題とともに丁寧に解説。 初心者にも無理なく読み進められる。 Linux、FreeBSD、Solaris… すべてのUNIXユーザへ。

  • シェルスクリプトの基礎

    シェルスクリプトは運用・管理で利活用すると非常に便利ですが、その反面root権限で誤ったシェルスクリプトを走らせてしまうと、システムを破壊してしまう恐れもあります。ここで紹介している一切の構文・サンプル文は自己責任でご参考下さい。 ・はじめに ・クオーテーション ・標準入出力 ・シェルスクリプト中の変数定義 ・制御文の構造 ・制御文の条件 ・シェルスクリプトでループ ・コマンドの連結 ・エイリアス と関数 ・Perlとの連動 ・シェルスクリプト構文集 ・戻る UNIXはMS-Windowsと違い拡張子でファイル形式を判別しません。ファイルの中身の先頭部分で判断します。つまりシェルスクリプトであると認識させるためにはファイルの先頭に、/bin/shと記述します。perlと認識されるには、/usr/bin/perlと記述します。これらはWindowsファイルの.txt(ド

  • ある文字列を含む直近の履歴を grep する - babie, you're my home

    今日のハフマンコーディング。 function histail { history -E 1 | grep $1 | tail }psqlmysql の接続先ホスト名を覚えてらんないので良く使う。 追記: へー、Ctrl-r で履歴をインクリメンタルサーチできるのかー。ledsunさん、ありがとう。Ctrl-r は直近の1つしか出力(というか即実行。怖い)されないし、さらにフィルタをかけたい場合もあるので、無駄じゃないな。 追記2: Ctrl-r については、znz さんの日記に。

    ある文字列を含む直近の履歴を grep する - babie, you're my home
  • FreeBSD QandA 1544

    Q. man の文書をテキスト化するにはどのようにすれば良いのでしょうか。 A. 単純に % man man > man.txt として plain text ファイルを作成すると、cat や more、less などで 見る分にはよいのですが、vi や emacs などのエディタで見ようとすると LS(1) FreeBSD General Commands Manual LS(1) N^HNA^HAM^HME^HE l^Hls^Hs - list directory contents S^HSY^HYN^HNO^HOP^HPS^HSI^HIS^HS のように、太字や下線の部分がおかしくなってしまいます。これは NAME の太字を表現するのに、 N(^Hで一文字戻る)NA(^Hで一文字戻る)AM(^Hで一文字戻る)ME(^Hで一文字戻る)E のように、コントロールコード ^H を使っている

    yabu_kyu
    yabu_kyu 2006/03/12
    man の文書をテキスト化するにはどのようにすれば良いか
  • Bashショートカット

    bash はいくつかあるシェルの内の1つで Bourne シェルを拡張したものです。 シェルとはカーネルと人間の通訳的存在であり、シェルのプロンプトでコマンドを実行するとコマンドはシェルにより 通訳されカーネルに渡されます。カーネルのメッセージもシェルにより通訳され人間に表示します。 また、シェルとカーネルは独立して存在しており、カーネルを包み込んでいるという意味で shell(貝殻)と名づけられました。 bash は csh や ksh の優れた機能を取り入れ、いくつもの便利な機能が追加されています。

  • void GraphicWizardsLair( void ); //

  • bashのブレース展開 - J0hn D0e の日誌

    ファイルネームに.bakを追加するときは mv filename{,.bak} とすれば良いことを知った void GraphicWizardsLair( void ); (Otsuneさん)より これは一体どういう記法なんだろう、Googleで検索したくても検索キーワードが思い浮かばない。俺は一生この謎を解くことができないのだろうか、 と一瞬途方にくれたが、色々調べてみた結果、これは「ブレース展開」という機能で、例えば、こんなふうに使うこともできることがわかった。 ls -l /etc/hosts.{allow,deny} なるほど。bakファイルを戻すのは mv filename{.bak,} ということですな。 勉強になりました。どうもありがとうございます。

    bashのブレース展開 - J0hn D0e の日誌
  • シェルスクリプト技術ノート

  • shText Readme.1st

    yabu_kyu
    yabu_kyu 2006/03/07
  • まぐまぐ! - 読みたいメルマガ、きっと見つかる。

    携帯アドレス、Gmail、YahooMailにメルマガが届かない場合 こちらから受信設定をお試しください。 また、購読期間内のメルマガ(有料・無料)はマイページから再送できます。 マイページをお持ちでない方は、新規にご登録ください! →informationページへ

    まぐまぐ! - 読みたいメルマガ、きっと見つかる。