ラベル zsh の投稿を表示しています。 すべての投稿を表示
ラベル zsh の投稿を表示しています。 すべての投稿を表示

2016/05/06

zsh + screen + ssh-agent

.zshrcの後半に下記を追記した。ちなみにgnu screenはいつも手動起動している。
 if [ 0 -eq $(ps ax | grep ssh-agent | wc -l) ]
 then
     eval $(ssh-agent)
     ssh-add .ssh/hoge/id_rsa
 fi
 
 TRAPEXIT()
 {
     if [ 0 -eq $(ps ax | grep screen | wc -l) ]
     then
         eval $(ssh-agent -k)
     fi
 }

2013/07/25

gitのalias削除

git config --global --unset alias.myAlias

以下すべて余談だけど、gitに限らずshellでもあまりaliasは設定しない。人によってはかなりいろいろ設定するらしいですが、他の環境で困りません?.zshrc確認したらこんだけだった。

alias screen='screen -S main -UxRL'
alias ls='ls --color=always'
alias rm='rm -i'
alias mv='mv -i'
alias hd='hexdump'
alias diff='colordiff -u'
alias rlwrap='rlwrap -pCYAN'
alias less='less -R'
alias grep='grep --color=always'

2013/07/10

zshのテーマ

zshを使っているけどカスタマイズはほとんどしていない。最初にzshを起動した時に出てくる「取りあえずオススメ設定の.zshrc使っちゃう?」的なのものに、いくつか設定やaliasを追加して使っている。
家もVPSも会社も会社のサーバーも同じ.zshrcなんだけど、会社のローカルと会社のサーバーで区別がつかないのは流石に紛らわしいと感じていた。ぐーぐる先生に尋ねてみたら、zshって予めプロンプトのテーマが用意されているんですね。なので、サーバーだけプロンプトのテーマを替えました。

2012/01/19

zshでESC qを知らなくて人生損してた

ぐぬぬ コマンドAを入力してる途中で、Aを実行する前にコマンドBを入力する必要があることに気づいたら・・・、今までは一度入力したものを消してコマンドBを実行してまたコマンドAを入力する、というような非常にストレスフルなことをやってた。全てESQ qが解決してくれた。
zshの本 (エッセンシャルソフトウェアガイドブック)

2011/11/01

notify-sendでラーメンタイマーというかリマインダ(ubuntuおまけでcygwin+growl for windows)


ちょくちょくあるんですよ、n分後にアラートして欲しいとか、何かしらの処理が終了したら通知して欲しいとか。 そこでnotify-sendとmplayerでいい感じに通知してもらえたのでメモ。

例えば下記の場合、3分経ったら上の画像のようなアラートを表示して音楽を流してくれます。
$ sleep 3m && notify-send -i /your/icon/path/terminal.png 'noodle !!'  && mplayer /your/music/path/notify.ogg > /dev/null 2> /dev/null

長いコンパイル、デカいファイルのコピーなんかの時に仕込んでおくと便利そう。いい感じのaliasを設定しときたいですね。

cygwin

cygwinの場合は、growl for windowsがインストールされてい(てかつgrowlが常駐して)れば下記のようにできる。
$ sleep 3m ; /cygdrive/c/Program\ Files/Growl\ for\ Windows/growlnotify.exe /i: "c:\your\icon\path\notify.png" /t:"hoge" 'Ha!!' 


参考



追記

alertって名前でshellスクリプト書いてみた。sh -x ./alert でtrace情報っぽいのが出るんですね。
!/bin/sh
                                                                                                  
ICON="/your/icon/path/icon.png"
MUSIC="/your/music/path/music.png"
                                                                                                   
while getopts s:m: OPT
do
        case $OPT in
                "s" ) FLG_SLEEP="TRUE" ; VALUE_SLEEP="$OPTARG" ;;
                "m" ) FLG_MESSAGE="TRUE" ; VALUE_MESSAGE="$OPTARG" ;;
        esac
done 
                                                                                                   
if [ "$FLG_SLEEP" = "TRUE" ]; then
        sleep $VALUE_SLEEP
fi
if [ "$FLG_MESSAGE" = "TRUE" ]; then
        notify-send -i $ICON "$VALUE_MESSAGE"
fi
mplayer $MUSIC > /dev/null 2> /dev/null

以下のように実行すると、3秒後に音楽とともにgrowlっぽいものが表示される。
$ alert -s 3 -m 'Hello, world !!'


詳解 シェルスクリプト