dogwood008の開発メモ!

最近のマイブームは機械学習, Ruby on Rails。中でも機械学習を使った金融商品の自動取引に興味があります。

Shell

【Shell】変数が未定義の時、エラーを出して止めるには ${VAR_NAME?}

要旨 $ export SOOME_VALUE=abcde $ echo ${SOME_VALUE?} sh: SOME_VALUE: parameter null or not set SOME_VALUE を定義したつもりで、できていないときに気付くことができる。 詳細 変数名の後ろに ? を付けると、その変数が定義されていないときにエラー…

【Shell】timeを使うとコマンドの実行時間を計測できる

$ time pwd /tmp real 0m0.001s user 0m0.000s sys 0m0.000s このように、かかった時間が表示される。3つの行はそれぞれ、次の通りの意味を持つ。 real: 起動から終了までに経過した実時間 (real time) (iii) システム CPU 時間 times(2) が返す struct tms …

【Shell】カレントディレクトリ内のファイル数を知る

ls -1 でカレントディレクトリ内のファイルとディレクトリの一覧を、1エントリ1行で出力する。 wc -l は、標準入力に与えられたテキストの行数をカウントしてくれる。 これらを組み合わせると、カレントディレクトリにファイルがいくつあるかを知ることがで…

【Bash】tee でstdoutとstderrをそれぞれ別々にする方法 (Process Substitution)

要旨 Bashで用意されているプロセス置換 (Process Substitution) という仕組みを使うと、下記のような書き方ができる。 $ ls /foo/bar 1> >(tee stdout.log) 2> >(tee stderr.log) ls: /foo/bar: No such file or directory # <--- 標準エラー $ cat stderr.…

【Shell】teeでログを画面に出しつつ、ファイルにも書き込む

要旨 tee コマンドを使用すると、標準出力の内容をコンソールに出力しつつファイルにも出力できる。 $ pwd | tee output.log /tmp $ cat output.log /tmp # <--- 標準出力に出たものと同じものが記録されている 参考 linuxjm.osdn.jp