2008/12/11

トラックバック

どうやって相手に設定するのか不明なので実験してみる

実験対象は(も)氏(すんまそん

2008/12/10

GNU Bourne-Again Shell を便利に使う

対話シェルとして使用する bash (1) の コマンドライン履歴機能の便利な使い方。
bash (1) のコマンドライン履歴機能のうち イベント指示子、単語指示子、修飾指示子は オンラインマニュアルにも情報が少ないが、 慣れると非常に便利でキータイプ量も減るので是非マスターしておきたい。
以下の文中で nm は任意の整数、 foobarbaz などは任意の文字列を示す。

機能一覧

イベント指示子
!! 直前に実行したコマンドを実行する
!-n n 回前に実行したコマンドを実行する
^foo^bar
!:s/foo/bar
直前に実行したコマンドの foobar に変更して実行する
!:gs/foo/bar 直前に実行したコマンドの全ての foobar に変更して実行する
!foo foo で開始されるコマンドを実行する
!n
n 番目に実行されたコマンドを実行する
単語指示子
!:n 直前に実行したコマンドの n 番目の引数を取得する
!^ 直前に実行したコマンドの 1 番目の引数を取得する
!$ 直前に実行したコマンドの最後の引数を取得する
!* 直前に実行したコマンドの全ての引数を取得する
!:n* 直前に実行したコマンドの n 番目から最後までの引数を取得する
!:n-m 直前に実行したコマンドの n 番目から m 番目までの引数を取得する
!:-n 直前に実行したコマンドの最初から n 番目までの引数を取得する
!:n- 直前に実行したコマンドの n 番目から最後の 1 個前までの引数を取得する
修飾指示子
:p コマンドを表示のみして実行しない
:h パスのファイル名部分を取り除きディレクトリ名を取得する
:t パスのディレクトリ名部分を取り除きファイル名を取得する
:r ファイル名の拡張子を取り除き "." の前を取得する
:e ファイル名の拡張子を "." 付きで取得する

イベント指示子

  • !!
  • 直前に実行したコマンドを実行する
    $ echo foo bar baz
    foo bar baz
    $ !!
    echo foo bar baz
    foo bar baz
    

  • !-n
  • n 回前に実行したコマンドを実行する (複数のコマンドを繰り返して実行する場合に便利)
    $ echo foo bar baz
    foo bar baz
    $ echo FOO BAR BAZ
    FOO BAR BAZ
    $ !-2
    echo foo bar baz
    foo bar baz
    $ !-2
    echo FOO BAR BAZ
    FOO BAR BAZ
    

  • ^foo^bar
    !:s/foo/bar
  • 直前に実行したコマンドの foobar に変更して実行する (下のパターンの場合 "/" は任意の文字に変更が可能)
    $ echo foo foo foo
    foo foo foo
    $ ^foo^bar
    echo bar foo foo
    bar foo foo
    $ echo foo foo foo
    foo foo foo
    $ !:s/foo/bar
    echo bar foo foo
    bar foo foo
    

  • !:gs/foo/bar
  • 直前に実行したコマンドの全ての foobar に変更して実行する ("/" は任意の文字に変更が可能)
    $ echo foo foo foo
    foo foo foo
    $ !:gs/foo/bar
    echo bar bar bar
    bar bar bar
    

  • !foo
  • foo で開始されるコマンドを実行する
    $ echo foo bar baz
    foo bar baz
    $ touch foo bar baz
    $ !ec
    echo foo bar baz
    foo bar baz
    

  • !n
  • n 番目に実行されたコマンドを実行する
    $ echo foo bar baz
    foo bar baz
    $ echo FOO BAR BAZ
    FOO BAR BAZ
    $ !1
    echo foo bar baz
    foo bar baz
    

単語指示子

  • !:n
  • 直前に実行したコマンドの n 番目の引数を取得する
    $ echo foo bar baz
    foo bar baz
    $ echo !:0
    echo echo
    echo
    $ echo foo bar baz
    foo bar baz
    $ echo !:2
    echo bar
    bar
    

  • !^
  • 直前に実行したコマンドの 1 番目の引数を取得する
    $ echo foo bar baz
    foo bar baz
    $ echo !^
    echo foo
    foo
    

  • !$
  • 直前に実行したコマンドの最後の引数を取得する
    $ echo foo bar baz
    foo bar baz
    $ echo !$
    echo baz
    foo
    

  • !*
  • 直前に実行したコマンドの全ての引数を取得する
    $ echo foo bar baz
    foo bar baz
    $ echo !*
    echo foo bar baz
    foo bar baz
    

  • !:n*
  • 直前に実行したコマンドの n 番目から最後までの引数を取得する
    $ echo foo bar baz
    foo bar baz
    $ echo !:2*
    echo bar baz
    bar baz
    

  • !:n-m
  • 直前に実行したコマンドの n 番目から m 番目までの引数を取得する
    $ echo foo bar baz FOO BAR BAZ
    foo bar baz FOO BAR BAZ
    $ echo !:3-5
    echo baz FOO BAR
    baz FOO BAR

  • !:-n
  • 直前に実行したコマンドの最初から n 番目までの引数を取得する
    $ echo foo bar baz FOO BAR BAZ
    foo bar baz FOO BAR BAZ
    $ echo !:-4
    echo foo bar baz FOO
    foo bar baz FOO
    

  • n-
  • 直前に実行したコマンドの n 番目から 最後の 1 個前までの引数を取得する
    $ echo foo bar baz
    foo bar baz
    $ echo !:1-
    echo foo bar
    foo bar
    

修飾指示子

  • :p
  • コマンドを表示のみして実行しない
    $ echo foo bar baz
    foo bar baz
    $ touch foo bar baz
    $ !e:p
    echo foo bar baz
    

  • :h
  • パスのファイル名部分を取り除きディレクトリ名を取得する
    $ echo /foo/bar/baz
    /foo/bar/baz
    $ echo !$:h
    echo /foo/bar
    /foo/bar
    

  • :t
  • パスのディレクトリ名部分を取り除きファイル名を取得する
    $ echo /foo/bar/baz
    /foo/bar/baz
    $ echo !$:t
    echo baz
    baz
    

  • :r
  • ファイル名の拡張子を取り除き "." の前を取得する
    $ echo foo.c
    foo.c
    $ echo !$:r
    echo foo
    foo
    

  • :e
  • ファイル名の拡張子を "." 付きで取得する
    $ echo foo.c
    foo.c
    $ echo !$:e
    echo .c
    .c
    

2008/12/08

John Lennon

On the night of 8th December 1980, Mark Chapman shot Lennon in the entrance hallway of his appartment, "DAKOTA HOUSE".

Imagine there's no heaven
It's easy if you try
No hell below us
Above us only sky
Imagine all the people
Living for today

Imagine

2008/12/05

真冬の御蔵BOX

Image: IMG_1633.JPG


完全生産限定という言葉に弱いんです…
開封できません orz

2008/12/03

風邪ぎみ

風邪をうつしてしまった様だ。
鼻水をたらして息苦しそうにしている姿や、 咳やクシャミをしている小さな体を見ていると胸が苦しくなってしまう。

早く元気になっておくれ

2008/11/29

FreeBSD 6.4-RELEASE

FreeBSD Release Engineering Team は 6-STABLE 系最後のリリースとして FreeBSD 6.4-RELEASE を発表しました。

主な変更は以下の通り

  • NFS Lock Manager (NLM) Client
  • 暗号化フレームワーク Camellia cipher のサポート
  • USB デバイスや GPTへの対応といった boot loader の改良
  • DVD インストールイメージの配布開始
  • KDE 2.5.10、GNOME 2.22.3 の採用
  • BIND、sendmail、OpenPAM などのアップデート

2008/11/28

はじめての体験

先ほど携帯電話のメイルアドレスに届いたメイル

From: system.db.XX@docomo.ne.jp
Subject: 重要なお知らせ

この度、お客様がご使用の携帯端末より以前ご登録頂いた 【ポータルサイト】から無料期間中に退会処理がされてない為に、 登録料金が発生し現状未払いとなった状態のまま放置が続いております。
本通達から翌日の正午までにご連絡を頂けない場合、 認可ネットワーク認証事業者センターを介入し、 発信者端末電子名義認証を行い利用規約に伴い、 お客様の身辺調査に入らせていただきます。
調査完了後は、回収業者による御自宅やお勤め先への料金回収、 又は裁判による少額訴訟を行う可能性があります。

退会処理の詳細につきましては下記までお問い合わせ下さい。

営業時間9:30〜19:00迄

(株)システムデータバンク
TEL03-3255-85XX

尚、ご連絡なき場合明日の正午より手続き開始となりますのでご了承下さい。

日本語の文章として突っ込みどころ満載なんですが(苦笑
最低でも「てにをは」位はちゃんとしてくれないと信憑性ゼロですよ。

ちなみに記載されていた電話番号や「システムデータバンク」で検索すると、 「架空請求」として検索結果のトップにヒットしますね。 ある意味 SEO としては有効かも?(違
折角の機会なので通報しておきました。なんとなく社会参加した気分(ぉぃ

2008/11/25

Catalyst

ひかりoneではCISCOは使えないらしい
これはネタですか?ネタですよね?ネタって言ってください…

Catalyst が良いハードか悪いハードかはともかく、 KDDI のサポセンならせめて CISCO Catalyst 位は知っていて欲しい気がする。

2008/11/24

ファミリーマート

昨日、近所にファミリーマートがオープンした。
ちょっとした買い物をするために今日行ってみたら風船をもらった

Image: IMG_1620.JPG


風船なんて久々に見たけど動きを見ているとなかなか楽しい

2008/11/23

中華街ミニツアー

折角の 3 連休なので家族で中華街までお出かけしてみた。
たまには気分を変えてシーバスで山下公園経由で行ってみる。

横浜駅でそごうの2階経由でシーバス乗り場まで向かい、 山下埠頭直行便のシーバスに乗り込み一路山下埠頭へ GO!
さすがに3連休中日の中華街は人でごった返しているので、 中華まんじゅうやちまきなどとぱくついたら割と早めに元町に逃げちゃいました。

元町をのんびりウィンドウショッピングした後無事に帰ってきました。


Copyright © 2008-2020 Mitzyuki IMAIZUMI. All rights reserved.