yaotti's diary

Software is Eating the World

zsh本まとめ

zsh最強シェル入門

zsh最強シェル入門

上のzsh本を読んで知ったことをまとめてみる.

ls **/*.c

find . -name "*.c" -exec ls {} \;と同じ
ただexecで指定するとaliasが効かない.(というかわかりにくい)

sourceと.

source .zshrcと . .zshrcは同じ.

ヒアドキュメント

cat > test.txt << EOF
hoge
fuga
piyo
EOF
ちょっとしたメモに使えそう

クウォート

強さは
シングル>ダブル>バック=$()
一概に強さ,とは言えないので訂正.thanks to @kana1
シングルクウォート内は文字列と見做される.
ダブルクウォートは変数展開を行うただし,バッククウォートや$()内はコマンドとして実行される
バッククウォートはコマンドの実行&変数展開を行う

編集子

for f in *temp*
mv $f $f:s/temp/test/
ファイル名にtempが含まれる物すべてに対して,tempをtestに置換したファイル名へ変更する.
シンプル.

ディレクトリのみ一覧表示

ls -l | grep ^d
なるほどなー
ちなみに
alias ll="ls -l"
alias -g G="| grep"
とかしとけば
ll G ^d
でok

cdコマンドのサーチパス

例えば.zshrcにて
cdpath=(~ ..)
みたいにしておくと,~/miscに移動したいとき
cd misc
とするだけでどこからでも移動できる.便利.

cdpath=(~ ..)
としておけば,同じ深さのディレクトリ間を移動するときに
いちいち../と打たなくてもよい.

(GNU screen)モニタ機能

バックグラウンドのwindowで何か動きがあったときにステータスラインにメッセージを出す
^T M
裏でtail -fを走らせてるとき便利(というか一昨日くらい欲しかった)


GNU screenの説明にも1章割かれていて,良い本だと思う.
まあscreenの説明は基本ばかりだったけど.
自分でバリバリ関数書いてる人じゃなければ,何かしら得られる物があるんじゃないかな.