MySQLの予約語でエラー

このようなエラーが出てどうにもならなかったが「condition」が予約語だった

- SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'condition TEXT NOT NULL, ...

カラム名を変えるか、バッククオートで括る(`condition`)ことで対処

参考:MySQL予約語
http://dev.mysql.com/doc/refman/5.1/ja/reserved-words.html

シンボリックリンクも維持して圧縮

tar zcvf か zip -ry を使えばOK
zip -r(-yオプションなし)だと実ファイルとして圧縮されてしまうので注意

$ tree hoge
hoge
|-- hoge.txt
`-- link -> hoge.txt

tar zcvfを使えば解凍時に元通りになる

$ tar zcvf hoge.tar.gz hoge  圧縮
$ tar xvf hoge.tar.gz    解凍
$ tree hoge
hoge
|-- hoge.txt
`-- link -> hoge.txt

zip -rでやる場合、シンボリックリンクの内容が実ファイルになってしまう

$ zip -r hoge.zip hoge
$ unzip hoge.zip
$ tree hoge
hoge
|-- hoge.txt
`-- link  ←リンク先の内容になっている

zip -ryとすればシンボリックリンクとして圧縮 (-yオプションを付ける)

$ zip -ry hoge.zip hoge
$ unzip hoge.zip
$ tree hoge
hoge
|-- hoge.txt
`-- link -> hoge.txt

SSLの秘密鍵のパスフレーズを確認する

覚えているが、念のため確認したいケース

以下でパスフレーズを聞かれるので、入力する事で確認できる

$ openssl rsa -des3 -in server.key -out server.key.new

あっていれば、そのまま新しい鍵が作成できる為、パスフレーズの変更にも使えます


パスフレーズを解除したい時はこちら。一旦以前のパスフレーズが聞かれます

$ openssl rsa -in private.key -out private.key
Enter pass phrase for private.key:
writing RSA key

再度同じコマンドを打ってもパスフレーズが聞かれません(つまり解除されている)

$ openssl rsa -in private.key -out private.key
writing RSA key

変数の値の文字数を取得

${#var} でvarの値の文字数が得られる

$ hoge="aaa"; echo ${#hoge}
3
$ hoge="ガ"; echo ${#hoge}
1
$ hoge="ガ"; echo ${#hoge}
2

例)引数から.htmlファイルかどうか判定して中身を取得

file=$1
chk=`echo "$file" | egrep "*.html$"`
if [ ${#chk} -gt 0 ]; then
  html=`cat $file`
fi