タグ

shellに関するsupermomongaのブックマーク (19)

  • 仕事で使えるシェルスクリプト

    C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„和弘 井之上

    仕事で使えるシェルスクリプト
  • プログレスバーを簡単に表示できるコマンド pv - aptheia.info

    プログレスバーを簡単に表示できる pv について説明する。 インストール方法 自分の環境(debian 6.0.3)だと aptでインストール出来る。RHEL系ならここかな。 使い方 端的に言うと、「cat + 標準エラー出力にプログレスバー」という動きを取る。 f440@abhoth[10]:~$ yes | pv >/dev/null 529MB 0:00:08 [67.2MB/s] [ <=> ] 8秒で合計529MB、秒間67.2MBくらいで「y」の文字が pv を通り抜けてるのがわかる。 -lオプションをつけると行モードになり、転送量ではなく転送行数を調べられる。 f440@abhoth[10]:~$ yes | pv -l >/dev/null 435k 0:00:10 [45.9k/s] [ <=> ] 10秒で435行、秒間45900行くらいが通り抜けてるのがわかる。 他に

  • 夏に読みたい技術書10選 – 上田ブログ

    暑くなってきました。こんなとき、生粋のプログラマは部屋にクーラーをかけてひたすらコードの写経に励むものです(偏見)。 ということで、私から夏におすすめの書籍を10冊、ご紹介さしあげます。 1. フルスクラッチから1日でCMSを作る シェルスクリプト高速開発手法入門 最初に拙著をお勧めしてすいません。bashのプログラミングと思いきや、「USP友の会のサイトがなにか攻撃を受けた!そこで会長と副会長が取った行動とは⁉︎」というドキュメンタリーも楽しめる、一粒で二度美味しい、グリコのようなです。 2. フルスクラッチから1日でCMSを作る シェルスクリプト高速開発手法入門 さて、次に紹介するのは、「フルスクラッチから1日でCMSを作る シェルスクリプト高速開発手法入門」です。一部で「シェル芸」と呼ばれているように、シェルスクリプトはコマンドのワンライナー的なスタイルで書かれています。他では

    夏に読みたい技術書10選 – 上田ブログ
    supermomonga
    supermomonga 2014/07/26
    なるほど〜
  • 使いやすいシェルスクリプトを書く

    できればシェルスクリプトなんて書きたくないんだけど,まだまだ書く機会は多い.シェル芸やワンライナーのような凝ったことではなく,他のひとが使いやすいシェルスクリプトを書くために自分が実践していることをまとめておく. ヘルプメッセージ 書いてるシェルスクリプトが使い捨てではなく何度も使うものである場合は,体を書き始める前に,そのスクリプトの使い方を表示するusage関数を書いてしまう. これを書いておくと,後々チームへ共有がしやすくなる.とりあえずusage見てくださいと言える.また,あらかじめ書くことで,単なるシェルスクリプトであっても自分の中で動作を整理してから書き始めることができる.関数として書くのは,usageを表示してあげるとよい場面がいくつかあり,使い回すことができるため. 以下のように書く. function usage { cat <<EOF $(basename ${0})

  • システム統合にSOA? RDBMS? bashで十分! - @IT

    2009/09/07 毎年夏に開催される軽量プログラミング言語(LL:Lightweight Language)をテーマにした「LLイベント」。第7回目となる「LLTV」が、2009年8月29日に東京・中野で開催された。この記事ではプログラムの一部、「大改善!!劇的ビフォーアフター」をレポートする。前編では、Rubyによるfortuneコマンドの“増築”と、Firefox拡張によるslコマンドの実装というネタ系発表をレポートした。中編ではC言語にLisp風のマクロを取り入れ、lsコマンドのソースコードを約半分に削減する匠の技をレポートした。後編となる記事では、売り場業務が滞りがちだった販売管理システムをbashコマンドで“建て直した”という劇的ビフォーアフターの発表をレポートする。 DBを捨ててテキストファイルに変換 「100万件ぐらいの検索なら、シェルだけでも1000分の数秒でできます

  • 続・ラフなラボ – シェルスクリプトが '> $logfile 2>&1' だらけにならなくて済んだ話

    ※ 2014-04-26 追記並びに一部コマンド部分の修正を行いました。( > => >> に変更 ) 個人用のチラシの裏のつもりが予想以上に反響いただいていたようで非常にびっくりしております。 ちょっとしたバッチ処理的なものはさくっとシェルスクリプトでやっています。 で、ログをとっておくべくリダイレクトを噛ますわけですが、 スマートに書く方法を調べたのでメモ。 元ネタは @sechiro さんの bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する でございます。 当に参考になりました。ありがとうございます。 今までは こんなことやってたわけです。 #!/bin/bash LOGFILE=/tmp/script-log command1 >> $LOGFILE 2>&1 command2 >> $LOGFILE 2>&1 ... >> $LOGFILE 2>&1

  • Enter で ls と git status を表示すると便利 - Qiita

    とある方の "エンターだけで ls と git status 表示するようにしてある" というつぶやきを見て便利そうだと思ったのでやってみました。 基的なやり方は以下の記事が参考になりました。 zshでコマンドが空の状態でenter押したときに任意のコマンドを実行する方法 - kei_q ただ、上記方法では私の環境の場合、プロンプトが1回余分に表示されてしまって気持ちが悪いので、その辺りも手を加えました。 Installation 以下スクリプトを .zshrc に記述すれば、何も入力されていない状態で Enter を打つだけで ls と git status が表示されるようになります。 function do_enter() { if [ -n "$BUFFER" ]; then zle accept-line return 0 fi echo ls # ↓おすすめ # ls_abb

    Enter で ls と git status を表示すると便利 - Qiita
  • #16 「moshは確かにイノベーション」 tech.kayac.com Advent Calendar 2012 - KAYAC engineers' blog

    初めまして。HTMLファイ部兼ダーツ部のkubota(@kubosho_)です。 最近はAndroidブラウザーのレンダリングエンジンの気持ちになりながら仕事をしています。 このエントリーはtech.kayac.com Advent Calendar 2012 16日目の記事です。 Vimまじイノベーション さて、テーマが「私の中のマイイノベーション 2012」ということで、今年はいろいろとイノベーションがあったのですが、その中でもイノベーションだったのが「Vim」でした。 元々Emacs派だったのですが、弊社HTMLファイ部の部長である@edo_m18に「Vimいいよいいよ」と洗脳おすすめされた結果、Vimを使い出して今では8:2くらいの割合でVimを多く使っています。 しかし、それよりももっとイノベーションを起こしたものが昨日できました。 それがmoshです。 moshまじイノベーショ

    #16 「moshは確かにイノベーション」 tech.kayac.com Advent Calendar 2012 - KAYAC engineers' blog
  • fish shell

    The fish shell is hosted at http://fishshell.com

  • Common Lispでシェルを便利に!「Shelly」をリリースしました - 八発白中

    先日のKyoto.lisp Tech Talkでご紹介しましたが、「Shelly」というプロダクトを作りました。 Shelly View more presentations from fukamachi まとめると、ShellyはCommon Lispの関数をシェルコマンドのように実行できるユーティリティです。 インストールは以下のコマンドを実行してください。「LISP_IMPL=ccl」の部分は使っている処理系に合わせて変更してください。LISP_IMPL=sbclとか。 $ curl -L http://xrl.us/shly | LISP_IMPL=ccl perl - installもしくはREPLからShellyをロードしてください。 (ql:quickload :shelly) (shelly:install) インストールが成功すると ~/.shelly にファイルがコピー

    Common Lispでシェルを便利に!「Shelly」をリリースしました - 八発白中
  • 誰得コマンド&オプション35連発

    5. devlove% echo $NAME devlove% SATO Yozo devlove% echo $TWITTER_ID devlove% @yoozoosato devlove% echo $MAIL devlove% yoozoosato@gmail.com 0 zsh ! 2012/03/26

    誰得コマンド&オプション35連発
  • cat コマンドでネコを走らせる - hogehoge @teramako

    というツイートが昨日RTで流れてきたので、面白いなと思ってやってみている。 https://github.com/teramako/scripts/blob/master/shell/cat.sh cat コマンドは来 concatenate をするコマンドである。ということで、これに反した場合にネコを出して矯正させようという趣旨である。単なる bash スクリプトである。~/bin/catとして放り込むのが良かろう。 C言語版、Perl版等のもうちょっと高級な言語での書き直しを望みます。(僕はCもPerlも得意じゃないので...) 標準入力がない、かつ、ファイルが2つ以上指定されていない 標準入力がある、かつ、ファイルが1つ以上指定されていない 「標準入力がない、かつ、ファイルが指定されない」に修正 場合にネコがでる。 ずさーーーーとネコが流れてきて 最後に と注意される仕様。 因みに

    cat コマンドでネコを走らせる - hogehoge @teramako
    supermomonga
    supermomonga 2011/12/08
    くそ、かわいいじゃないか
  • シェルスクリプトはエレガントでなければならない

    /bin/shの実体としてはash(dash)、bash、kshの採用例が多い。どのシェルもBourne shellの機能に加えて、拡張機能を提供する。 FreeBSDなどの*BSD系のOSは、ashを/bin/shとして使っている。ashはPOSIX.1(POSIX:2008)にいくらかのBSD拡張機能を取り込んだシェルだ。メモリをあまり消費せず、高速に動作し、ほかのライブラリに依存することが少ない。従って、rootやレスキューシステムのインタラクティブシェル、システムのシェルスクリプトといった場面で採用されている。 Mac OS Xはbashを/bin/shに採用している。FedoraやopenSUSEなどのLinuxディストリビューションもbashを/bin/shに採用している。LinuxディストリビューションでもUbuntuやDebian、Linux Mintなどは、高速に動作する

    シェルスクリプトはエレガントでなければならない
  • シェル難民がeshellに漂流したついでに、 eshell tipsまとめてみた - sheephead

    何事も見た目重要です。まずはプロンプトから変えてみます。長たらしいパスとかだと格段に見にくくなるので、パスの後に改行を入れ、シェルの記号も変えてお茶目な印象に (defun my-eshell-prompt () (concat (eshell/pwd) "n→ " )) (setq eshell-prompt-function 'my-eshell-prompt) (setq eshell-prompt-regexp "^[^#$n]*[#→] ") こんな感じになります。 メインマシンがUbuntuなので、sudoを多用します。zshだとsudoの後もコマンドを補完してくれるのですが、eshellの場合、sudoの後でTABを何度叩いても反応がないので悲しくなります。 というわけで、sudoの後でもコマンドを補完できるようにしてみました。 (defun pcomplete/sudo (

    シェル難民がeshellに漂流したついでに、 eshell tipsまとめてみた - sheephead
  • ターミナルにscreenではなくbyobuを使うべき100の理由 - tumblr

    成金クソ眼鏡prn野郎に嫌気がさした僕は、家のメインマシンのOSをubuntuにしてしまったわけです。 で、なんかサーバ入ったりして作業する際、windows環境だとteratermとかputtyとかってターミナルソフトが必要なんですが、僕はサーバのログを見ながらとか別のサーバの設定を参考にしながら作業とかって状況が多かったので、ウィンドウ分割と多タブ(複数シェル)管理の楽なpoderosaを使っていたのですが、ubuntuだとそういうことの出来るものはscreenしか知らなかったので、そのままscreenを使うことにしました。 が、これがまたとんでもなく使いにくい。使いにくいというか、設定の仕方がまったく分かりません。screenの売りの1つはコマンドで多タブ表示やウィンドウ分割が出来るところなのですが、キーバインドを変更しようにもどうやったら変更出来るのかがman screenみてもい

    ターミナルにscreenではなくbyobuを使うべき100の理由 - tumblr
  • シェルスクリプトに最適な「ガワ」を求めて - builder by ZDNet Japan

    ワケあって、シェルスクリプトに使う「ガワ」の情報を整理している。利用環境はSnow Leopard限定、しかもUNIXの流儀に不慣れな層に配慮せねばならず、どうしたものかと。簡潔かつ実用的に、しかも扱いやすい形を模索しているのだ。 オーソドックスな形は、やはり「ダブルクリックに対応させる」ことだろう。実行属性(chmod + x ~)を与えたうえで、拡張子を一般的な「.sh」とせずTerminalに関連付けられた「.command」にしておけば、ダブルクリックでTerminalの起動からシェルスクリプトの実行までを処理するファイルとなる。特別な準備が必要ないことが利点だが、見栄えせず目立たないことは欠点といえるかもしれない。 Automatorという手もある。シェルスクリプトインタープリタとして機能する「シェルスクリプトを実行」アクションを利用すれば、他のアクションからファイルなどを引数と

    シェルスクリプトに最適な「ガワ」を求めて - builder by ZDNet Japan
  • 【レビュー】Ubuntu/FreeBSDターミナルをもっと使いこなすための「tput」コマンド | エンタープライズ | マイコミジャーナル

    Ubuntu is a community developed operating system that is perfect for laptops, desktops and servers. LinuxやFreeBSDの操作に慣れてきたら、次はコマンドを組み合わせてシェルスクリプトを作成し、これまでコマンドラインから入力していた処理の自動化や、より高度なコマンドの作成を実施していきたい。こういった場合、ターミナルそのものがユーザが操作する基インタフェースということになる。 ターミナルは文字を表示するという機能以外にも、所定の場所にカーソルを表示させたり、フォントを変更したり、表示する色を変更したりとさまざまな機能を提供している。これら機能は制御コードシーケンスと呼ばれる特殊な文字列をターミナルに出力することで利用できる。ただし、制御コードシーケンスはターミナルごとに違っているため

  • Emacs 上で快適に Bash や Zsh を利用する設定 : 紹介マニア

    概要 Emacs を利用していると全部 Emacs でやりたくなるのは Emacs 使いとして当然だと思います。 Shell だって Terminal など利用せず Emacs 上で動作させたくなることでしょう。 この文書では Emacs 上で Shell を快適に利用するための設定を記述していきます。 目次 概要 検証環境 Emacs での Shell Mode に関する基礎知識 shell term (ansi-term) eshell どのモードを利用するか 利用する Shell について Windows での Shell の準備 Mac OS X での Shell の準備 Emacs 側の設定 PATH の設定 利用する Shell の設定 文字コードの設定 システムの terminfo を利用しない設定 エスケープを綺麗に表示する term 呼び出しキーの割り当て Shell 側

  • Macのログインシェルをzshに変更する

    以前に一度設定はしていたのですがちょっとおかしなところ(screenがうまく起動しない、日語が入力できないとか)がいくつかあったので再設定しました。 zsh-develをMacPortsでインストールする どうやら最初からインストールされているzshではバージョンの4.24のため日語が入力できないみたいなのでMacPortsであらたに4.3以上のものをインストールしなおします。 $sudu port install zsh-devel Enter password: インストールが終わると、/opt/local/binにzsh-4.3.4があるはずです。 ログインシェルの変更 ユーティリティのNetInfoマネージャもしくは、Terminalからchshを実行してログインシェルを変更します。今回はchshを使用して変更します。ちなみにTerminalの環境設定でシェルを指定している場合

  • 1