トップ «前の日記(2010-02-15) 最新 次の日記(2010-02-17)» 編集

日々の破片

著作一覧

2010-02-16

_ 空白は重要

何気なく、2つの引数を取るコマンドabcdeを実行するのに

$ abcde 1 2>/var/tmp/abcde.out

とか書いたら、すぐ実行が終わる。

そんなはずないのだが、と/var/tmp/abcde.outの中を見たら、usageが出力されていた。

もっとも

$ abcde 1 a>/var/tmp/abcde.out

なら問題ない。

ということは、1と2だけが特別扱いなのかなと

$ abcde 1 3>/var/tmp/abcde.out

とやってもやはり3はシェルに食われてしまう。こういう場合、3ってどうやれば使えるんだろう?

$ ruby -e '$stderr.puts("arg error")' 3>out

arg error

そりゃ、3はstderrじゃないし。

追記:File.new(3, 'w').puts 'hello!'

本日のツッコミ(全2件) [ツッコミを入れる]
_ maqmakmac (2010-02-16 23:03)

3とかの使い方は以下あたりを参照されると良いかも知れません。<br>http://x68000.q-e-d.net/~68user/unix/pickup?%A5%EA%A5%C0%A5%A4%A5%EC%A5%AF%A5%C8

_ arton (2010-02-16 23:13)

なるほど。% command 3>&1 1>&2 2>&3 とか、出力先の一時保持用に利用したりするわけですね。勉強になりました。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

ジェズイットを見習え