タグ

bashに関するhogemのブックマーク (7)

  • cdの引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー

    cdの引数が相対パスのままコマンドヒストリに残って便利な例が思いつかないので、絶対パスでコマンドヒストリに残すようにする。 具体的には、以下のシェル関数を.bashrcに書く。 if [[ -n "$PS1" ]]; then cd() { command cd "$@" local s=$? if [[ ($s -eq 0) && (${#FUNCNAME[*]} -eq 1) ]]; then history -s cd $(printf "%q" "$PWD") fi return $s } fi いくつかの重要なポイントを以下に記す。 cdの定義を上書きしているが、このような場合中で普通にcdを呼ぶと再帰してしまうためcommand組み込みコマンドを使う。 "$@"の代わりに"$1"を使うことはできない。cdを引数なしで呼んだときホームディレクトリに移動しなくなってしまう。 cdの

    cdの引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー
    hogem
    hogem 2015/02/03
    だいぶ良い
  • bashのhistoryに時刻を表示する - (ひ)メモ

    追記: HISTTIMEFORMATが使用可能なbashのバージョンを明記。あざーっす> id:kdaiba bash 3.0から(2.05bを含んでそれより以前のはダメ)使用可能なHISTTIMEFORMATという環境変数を使うと、ヒストリに時刻も記録できると同僚に教えてもらた。これは便利。 $ HISTTIMEFORMAT='%Y-%m-%d %T '; export HISTTIMEFORMAT $ man ci $ man co $ shutdown now && echo nigeteeeee | wall && shutdown -c $ history 1 2008-01-17 15:42:48 HISTTIMEFORMAT='%Y-%m-%d %T '; export HISTTIMEFORMAT 2 2008-01-17 15:42:52 man ci 3 2008-01

    bashのhistoryに時刻を表示する - (ひ)メモ
    hogem
    hogem 2010/03/12
    .bashrcに HISTTIMEFORMAT='%Y-%m-%d %T' / bash 3.0以降
  • bashにて複数端末間でコマンド履歴(history)を共有する方法 (iandeth.)

    Tera Term 等の端末を複数同時に立ち上げて作業したり、screenにて複数の仮想端末を同時並行で操作する際、コマンド実行履歴が端末間で共有できなくて困る事が多々あります。「さっきのfindコマンドをもう一度... 引数どう書くんだっけなぁ... あ、確かコマンド履歴にあったはずだなぁ... ちっ、それはあっちの端末の履歴だったか」みたいな。zshには端末間のコマンド履歴を常に同期できる'SHARE_HISTORY' なるオプション(*1)があって素敵なのですが、同じことを bash で実現する方法を調べたのでご紹介。 (*1) zshの同機能について詳しくはITmedia記事 "豪傑の三種の神器【後編】" を参照の事 不具合) 通常設定のbashで困る事 1. 複数端末間でコマンド履歴の共有ができない 同時に立ち上げている端末間で履歴の共有ができなくて不便に感じることがある。 2.

  • コマンドラインユーザー必携 - 書評 - bashクックブック : 404 Blog Not Found

    2008年09月26日00:00 カテゴリ書評/画評/品評iTech コマンドラインユーザー必携 - 書評 - bashクックブック オライリー矢野様より、いつもどおり献御礼。 bashクックブック Carl Albing / JP Vossen / Cameron Newham 株式会社クイープ訳 [原著:bash Cookbook] そういえば、これがなかった。 ある意味、(Perl|Python|Ruby)クックブックより重要とも言える、これが。 書「bashクックブック」は、世界でも最も普及したshell、Bashのクックブックであると同時に、2008年現在における「デフォルトのコマンドライン環境」において、「あれをやるにはどうしたらよいか」、すなわち「CLIクックブック」としても機能するよう書かれた一冊。 書の何がよいかといえば、何もかもBashでやろうとしていないこと。目

    コマンドラインユーザー必携 - 書評 - bashクックブック : 404 Blog Not Found
  • シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Java BlockingQueueで遊ぶ:パイプラインごっこ」でパイプラインの話をしたので、来の、つまりUnixのパイプやリダイレクトを少し調べてみました。 たまに話題となる some-command >file 2>&1 と some-command 2>&1 >fileの挙動の違いについて、「シェルはコマンドラインリダイレクトの指定を右から左に解釈実行する」なんて説明が見つかりました。んなバカな! パージングは左から右にするものですよ。パーズツリーを逆順にたどることはできるけど、そんなことする必然性はなんにもないよ。 次の記事を読むと、「右から左」なんて事情じゃないことが分かるでしょう。 UNIXの部屋 検索: リダイレクト シェルのリダイレクトにまつわる失敗 さてここでは、複雑なリダイレクト処理も完全に理解できる処方箋を示しましょう。例えば、次のコマンドラインが何をするか分かる

    シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
    hogem
    hogem 2007/12/24
    シェルのリダイレクトのお話。これ知らなかった=>"コマンドライン構文では、番号nに対してn>&-としてファイルディスクリプタnを閉じます。"
  • bashの補完機能を拡張するには ― @IT

    ファイル名の入力を簡単にするにはで、bashのファイル名補完機能について説明した。この補完機能は、さらに拡張できる。bash-completionをインストールすると、[Tab]キーを押すことでコマンドのオプションが表示されるようになる。 Fedora Core 5の場合、bash-completionはFedora Extrasにパッケージが用意されているので、yumコマンドでインストールできる。

    hogem
    hogem 2007/06/30
    まーでもzshでいいか
  • BASHスクリプト - ファイヤープロジェクト

    BASHスクリプトは強力なのでうれしい.日常生活で,ガリガリBASHスクリプトを書いて快適ライフを送るのだ. 基編 応用編 実践編 基編ちょっとBASHスクリプトプログラミングやってみる用.基的な構文が中心. スクリプトの作成 2003-07-20T15:13+09:00 matsu BASHスクリプトファイルの作成方法 リダイレクトとパイプ 2003-07-20T15:13+09:00 matsu リダイレクトとパイプによって,入力や出力の流れを制御することができる. BASHでの変数について 2004-03-14T23:45+09:00 matsu BASHスクリプトにおける変数の取扱について説明する. 条件,ステートメントブロックとif文 2003-07-20T15:13+09:00 matsu BASHスクリプトでの条件式とステートメントブロックについて説明し,それをもとにi

  • 1