ドットインストール代表のライフハックブログ
We're currently working to get bash-completion at its best. This is what we plan to do in the near future: make a better homepage (you really want it, don't you? ;) ); make bash-completion dynamically load completions. Please join #bash-completion on irc.debian.org if you want any information. There you'll probably find luk__ (Luk Claes) or hanska (David Paleino), who might give you some more info
きょうびmakeやgitでも補完が効くなか、perlbrewでも補完が効いてほしいですよね。 たとえば私はマシンによってperlbrewで入れたperlはけっこう違っているのですが、どのマシンにどのバージョンのperlを入れたか正確には覚えていません。なのでperlbrew use [tab]で利用可能なperlの一覧が出るなどしてほしいところです。 そこでperlbrew-completionを書きました。pull-req済みなのできっと次のバージョンあたりから使えることでしょう。 $ perlbrew [tab] alias install off available install-cpanm self-upgrade clean install-patchperl switch compgen install-perlbrew switch-off display-bashrc l
さて、ひとつ前のエントリは釣りだったわけですが、本題の bash 補完を初めてやってみました。ちょっとした物だったら割と簡単に書けたので、共有。 目標 自作コマンド(仮にsugyanとします)はこんな感じの I/F だとします。 sugyan subcommand [args] いくつかの subcommand は次にくる引数が限られる 例えばsugyan momocloの後にはkanako renichan shiorin ahrin momoka sugyan listでそういう補完の一覧が色々出せる sugyan list commandで subcommand の一覧 sugyan list momocloでももクロ一覧 一応sugyan listでcommand momocloが返る あとはいつもの bash のままにファイルとかを補完して欲しい 実際叩くと、 $ sugyan
bashにはインテリジェントな補完機能があり、ubuntuだとデフォルトでさまざまな補完定義の書かれた bash_completion が有効になっているはず。 なっていなければ ~/.bashrc に、if [ -f /etc/bash_completion ]; then . /etc/bash_completion fiと追記しておこう。 この便利な補完機能だけど、自分で設定できる。が、ものすごく賢く設定できるだけに /etc/bash_completion 見てもよく分からないw ちょうどnkfのロングオプションをよく使うんだけど、よく忘れるw のでいい機会だったので試しに作ってみた。 # nkf completion _nkf() { local cur COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} # options completion
歳のせいか最近記憶力が落ちてるので補完に頼ってみることにした。 以下を行なうにはbash-completionパッケージが必要です。 macportsだと sudo port install bash-completionでインストールされるはず。 バージョン1 とりあえず、サブコマンドを全部登録してみました版 _gisty() { COMPREPLY=(list post private_post sync sync_delete pull_all about help) } complete -F _gisty gisty上記を/opt/local/etc/bash_completion.d/の配下にgistyという名前で保存 以下のように設定ファイルを読み込み $ . /opt/local/etc/bash_completion"gisty "と打ってtabを押すと about li
はっきり言って先方予測と複数行編集は無理。だけど代替手段がありそうだ。 ということで、bashでどこまでzshに近づけるかチャレンジしてみる。 使用環境は環境はubuntu8.10 以下を.bashrcに追加 if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi function share_history { history -a; history -c; history -r; } PROMPT_COMMAND='share_history' shopt -u histappend export HISTTIMEFORMAT="%y/%m/%d %H:%M:%S: " export HISTSIZE=300000 function fceditor () { tt=/tmp/$$.sh; cat $1 | ( re
ここでは bash が環境をカスタマイズするために提供しているもっとも重要な特徴 「特殊ファイル」,「エイリアス」,「変数」について見ていく. 3.1 .bash_profile, .bash_logout, .bashrc ファイル 3.2 エイリアス 基本的なエイリアス スペースを含むエイリアス エイリアスが再帰的になる場合 エイリアスの定義に別のエイリアスを用いる エイリアスを無効にする 3.3 シェル変数 編集モードの変数 メール変数 プロンプト変数 コマンド検索パス ディレクトリ検索パスと変数 その他の変数 3.4 環境変数 3.1 .bash_profile, .bash_logout, .bashrc ファイル bash をログインシェルとしているユーザがログインすると, /etc/profile ~/.bash_profile ~/.bash_login ( .ba
はじめに こんにちは、Python界の渡辺篤史です。@nkjm宅にて記事を書いています。 (git-core 1.7.12以降で設定が変わるので、最新版を使う場合は最後の方を参照して下さい) プロンプトにブランチ名を表示させよう 今のbashプロンプト 僕はzshを使おうと思いつつzshのdotファイルがどれに何を書けばいいのかわかりません状態が続いてずっとbashを使っています。いまのプロンプトはどこでも同じ色で表示されるように次のようなものを使っています。 PS1="\[\033[0;37m\][\[\033[0;32m\]\t \[\033[1;36m\]\u\[\033[0;37m\]@\h \[\033[0;32m\]\w\[\033[0;37m\ ]]\n\$ "こんな感じで表示されます。 gitのブランチ名の取得 MacPortsでgitをインストールしていて、bash_co
Make Tech Easier - Uncomplicating the complicated, making life easier Joshua Price氏がMake Tech Easierにおいて8 Useful and Interesting Bash Promptsのタイトルのもと、bashシェルにおけるさまざまなコマンドプロンプトの設定例を紹介している。使いやすいコマンドプロンプトはコマンドラインの使い方を変えると説明があり、同氏が調査した中でも、特によく使われていたり、おもしろいプロンプトとその設定例が紹介されている。紹介されているプロンプトは次のとおり。 間違ったコマンドを入力すると顔が変わるプロンプト もっともおもしろいプロンプトのひとつだが、使いやすくもあるプロンプト。コマンドの実行が成功したか失敗したかで、プロンプトに表示されるアスキーアートの顔を変更するという
ユーザーのホームディレクトリには、.bash_profileや.bashrcといったファイルがある。どんなファイルがあるかは、-aオプション付きでlsコマンドを実行すると表示される。 $ ls -a ./ .bash_history .bashrc .emacs .rpmmacros rpm/ ../ .bash_logout .canna .emacs-color.el .screenrc tmp/ .Xdefaults .bash_profile .cshrc .emacs.el .xemacs.el この中の.bash_profileと.bashrcは、共にログインしたときに実行される設定用のシェルスクリプトだが、両者にはもちろん違いがある。 .bash_profileは、ログイン時だけに
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く