笑いながらコードを書く。

vimから出たくないフロントエンドエンジニアの備忘録的な何か。

シェルで実行にかかった実時間を表示

timeだと実時間が取れなかったのでさっくりと。
hogehogeの行を処理と書き換えで実行時かかった実時間を表示する。

START=`date +"%s"`

## hogehoge

END=`date +"%s"`
TOTAL_SEC=`expr $END - $START`

SEC=`expr $TOTAL_SEC % 60`
SEC=`printf %02d $SEC`

MIN=`expr $TOTAL_SEC / 60`
MIN=${MIN%.*}

HOUR=`expr $MIN / 60`
HOUR=${HOUR%.*}
HOUR=`printf %02d $HOUR`

MIN=`expr $MIN % 60`
MIN=`printf %02d $MIN`

echo "time: $HOUR:$MIN:$SEC"

sudo -u hogehogeでユーザーを変えても環境変数は元のまま

知らずに余計な時間を使った。

例えばHOMEなんかも変わらない。shファイルとかなら内部で強制的にHOME書き換えてやればOKだった。

mysqlでダンプしたいとき

データ含んで全部

mysqldump -u root -x --all-databases --events > dump.sql

構造だけ

mysqldump -u root -x --all-databases --events --no-data > dump.sql

テーブル指定

mysqldump -u root -x --all-databases --events --tables TABLE_NAME > dump.sql

phpなどからシェルスクリプトを実行するとコマンドが無いと言われる場合がある

PATHが通らないらしい。

shの中で明示的にPATHをexportするといい。

export PATH=/usr/local/bin:/usr/bin:/bin

シェルで標準エラー取得

コマンドの最後に2>&1つければ取得できる

wc -lで行数カウントするとなんかおかしい

wc -lで行数カウントするとなんか1行少なくなった。

どうにも改行コードとかそもそも改行コードしか数えないとか色々あるらしい。

 

wc -l hogehoge.txt

 

微妙に気づきにくい。調べてたらgrep -cのほうが安定してるらしいのでこちらでやることに。

grep -c '' hogehote

メモ: vagrantでCentOS6.4の環境作ってChef使ってたらなんかやたら重い

最初そんなもんかなーと思いながらやってたけど

 

 

http://redmine.dev.qteras.co.jp/issues/13148

 

これやったら爆速になりました。
遅かったら全てを疑え。