• このエントリーをはてなブックマークに追加

さっき知ったのでメモ.(Twitter のタイムラインできっかけを見かけた気がしたのだけど忘れたw)

diff <file1> <file2>

ファイルを指定する部分を

<(<command>)

とすることでできるのですね.

% diff -u <(ssh issm@192.168.1.154 -- cat ~/.oh-my-zsh.custom.issm.zsh) <(cat ~/.oh-my-zsh.custom.issm.zsh)
--- /dev/fd/11  2013-01-08 10:39:54.000000000 +0900
+++ /dev/fd/12  2013-01-08 10:39:54.000000000 +0900
@@ -109,7 +109,10 @@
 
 # perlbrew
 source $HOME/perl5/perlbrew/etc/bashrc
-
+# pythonbrew
+source $HOME/.pythonbrew/etc/bashrc
+# smartcd
+source $HOME/.smartcd_config
 
 #
 #  env vars
@@ -135,13 +138,13 @@
 
 # git
 export GIT_SSL_NO_VERIFY=1
-export GIT_PAGER="lv -c"
+export GIT_PAGER="less -FX"
 
 # git-hooks
 export GIT_HOOKS_HOME=/usr/local/share/git-core/Git-Hooks
 
 # haxe
-export HAXE_LIBRARY_PATH=$(brew --prefix)/share/haxe/std
+export HAXE_LIBRARY_PATH=$HOME/local/haxe/std:$(brew --prefix)/share/haxe/std
 
 
 #
@@ -159,6 +162,7 @@
 function pm() { [ -n "$1" ] && PERLDOC_PAGER=vim perldoc -m $1 }
 # http://d.hatena.ne.jp/punitan/20100829/1283075605
 function pmver () { perl -M$1 -le "print \$$1::VERSION"; }
+function pmwhere () { perldoc -l $1; }
 
 # search from history easily
 function hs () {

おまけ

<(...)echo してみると...

Mac OSX:

% echo <(ls) <(ls) <(ls) <(hoge 2>&1)
/dev/fd/11 /dev/fd/12 /dev/fd/13 /dev/fd/14

Ubuntu 10.04:

% echo <(ls) <(ls) <(ls) <(hoge 2>&1)
/proc/self/fd/11 /proc/self/fd/12 /proc/self/fd/13 /proc/self/fd/14

CentOS 5:

% echo <(ls) <(ls) <(ls) <(hoge 2>&1)
/proc/self/fd/11 /proc/self/fd/12 /proc/self/fd/13 /proc/self/fd/14