« 2004年08月 | メイン | 2005年08月 »

2005年07月29日

initdb エンコード 

initdb するときに
initdb --encoding=EUC_JP --no-locale
とすると、基本文字コードが EUCに固定になるらしい。

うしろの--no-locale がよーわからんがw

投稿者 muuming : 19:45 | コメント (0)

set コマンド

1、set 値1値2 にて関数内で引数を渡す事ができるっぽ

  set 0 10 100 100
  これで $1 は 0   $2 は 10 $3 は 100 といった感じで。

2、デバックにも便利
  set -n コマンドを読み取るだけで実行しません。
  set -v コマンドラインの行数を表示
  set -x コマンドと行数を表示しながら実行

  まぁ -x を良く使うでしょうな
  デバッグしたい部分を
  set -x
  ~
  set +x
  で囲んだら コマンドと行数が表示される。

投稿者 muuming : 18:37 | コメント (0)

if 比較演算 (シェル

Bashの条件式  
  
ファイルの存在  
-a file  fileが存在すればtrue
  
-b file  fileが存在し,それがブロックのスペシャルファイルだったらtrue
  
-c file  fileが存在し,それがキャラクタのスペシャルファイルだったらtrue
  
-d file  fileが存在し,それがディレクトリだったらtrue
  
-e file  fileが存在すればtrue
  
-f file  fileが存在し,それが通常のファイルだったらtrue
  
-g file  fileが存在し,そのset-group-idビットがセットされていたらtrue
  
-k file  fileが存在し,そのstickyビットがセットされていたらtrue
  
-p file  fileが存在し,それがnamed pipeだったらtrue
  
-r file  fileが存在し,それが読み込み可能ならtrue
  
-s file  fileが存在し,そのサイズが0より大きかったらtrue
  
-t fd  ファイルディスクリプタfdがオープンされており,それが端末を参照していたらtrue
  
-u file  fileが存在し,そのset-user-idビットがセットされていたらtrue
  
-w file  fileが存在し,それが書き込み可能ならtrue
  
-x file  fileが存在し,それが実行可能ならtrue
  
-O file  fileが存在し,それが実行中のユーザが所有するものだったらtrue
  
-G file  fileが存在し,それが実行中のユーザグループが所有するものだったらtrue
  
-L file  fileが存在し,それがシンボリックリンクならtrue
  
-S file  fileが存在し,それがSocketならtrue
  
-N file  fileが存在し,それが最後に読み込んだ後更新されていたらtrue
  
ファイル  
file1 -nt file2  file1の更新日時がfile2より新しかったらtrue
  
file1 -ot file2  file1の更新日時がfile2より古かったらtrue
  
file1 -ef file2  file1とfile2が同じ装置でi-nodeも同じならtrue
  
シェルオプション  
-o optname  optnameのシェルオプションが有効ならtrue
  
文字列などの比較  
-z string  stringの長さが0ならtrue
  
-n string  stringの長さが0じゃなければtrue
string  
  
string1 == string2  string1とstring2が等しければtrue
  
string1 != string2  string1とstring2が等しくなければtrue
  
string1 < string2  ソート順に並べたときにstring1がstring2より前に位置すればtrue
  
string1 > string2  ソート順に並べたときにstring1がstring2より後に位置すればtrue
  
arg1 OP arg2  arg1とarg2は数値。OPは'-eq','-ne','-lt','-le','-gt','-ge'のうちのどれか。
  OPはそれぞれ,=,!=,<,<=,>,>=を表す。
  
演算子  
  
+   単項演算子としてのプラス
  
-   単項演算子としてのマイナス
  
!   論理否定
  
~   ビット演算の否定
  
**  階乗
  
*  乗算
  
/  除算
  
%  剰余
  
+  加算
  
-  減算
  
<<  左シフト(ビット演算)
  
>>  右シフト(ビット演算)
  
<=  小または等しい
  
>=  大または等しい
  
<  小さい
  
>  大きい
  
==  等しい
  
!=  等しくない
  
&  ビット演算のAND
  
^  ビット演算のExclusive OR
  
|  ビット演算のOR
  
&&  論理演算のAND
  
||  論理演算のOR
  
expr ? expr : expr  
  
=  代入
  
*=  右項を乗算した結果を代入
  
/=  右項で除算した結果を代入
  
%=  右項で剰余演算の結果を代入
  
+=  右項を加算した結果を代入
  
-=  右項を減算した結果を代入
  
<<=  右項でシフト演算した結果を代入
  
>>=  右項でシフト演算した結果を代入
  
&=  右項でビット演算した結果を代入
  
^=  右項でビット演算した結果を代入
  
|=  右項でビット演算した結果を代入
  

投稿者 muuming : 18:27 | コメント (0)