2012年3月18日日曜日

シェルスクリプトでデバッグ

USP友の会 なる組織があることを初めて知りました。

以前書いた、VMwareEsxiのバックアップスクリプトの動きがおかしかった。

コメントアウトをしたり、色々と調べた結果、スナップショットの作成時点でコケていた模様。

#vim-cmd vmsvc/getallvms

で、全ての仮想マシンの名前やIDを得ることができる。スナップショットを作るための

#vim-cmd vmsvc/snapshot.create

は引数に仮想マシンのIDをとるので、awkを使って

vim-cmd vmsvc/getallvms | awk '/$1/ {print $1;}'

で、ID部分のみを取得できる、はずだった。

しかし、動かない。awkの文法で何かをミスっているらしい。

結論から言うと

vim-cmd vmsvc/getallvms | awk '/'$1'/ {print $1;}'

が正解。標準入力からの引数を文字として認識してしまっていたらしい。

で、調査方法だけどUSP友の会の会長さん(@usptomo)さんが拾ってくれた

sh -vx

こんなのあったんだな。


っていうか シェル デバッグ で検索すると沢山引っかかる・・・検索方法が悪かったですorz

0 件のコメント:

コメントを投稿