なにかのきろく

ひっそりと戻ってきて自分のためになるべく頑張る・・・

shellのことやらないと忘れてしまう悲しい

別の目的で用意したUbuntu環境でshellを使って遊びました。


環境です----------------------
Oracle VirtualBox Ver5.0
Ubuntu 14.04 LTS
----------------------環境です


まず、VirtualBoxUbuntu環境を用意した。
こちらを参考にした。
http://pc-karuma.net/windows-8-virtualbox-ubuntu-install/

個人的には、
kshellを利用してETL実行を制御した経験がある。

shellでJOB実行に必要なパラメータをチェックして渡す!
そして、JOBの全体はJP1で管理です。
(遭遇率は高かった)


そんなshellちゃんの復習?を行う。
今回は、roco.shとsubroco.shという2つのshellを作成した。
roco.shの中からsubroco.shを呼び出して実行する。

■roco.shの処理
まず、subroco.shのファイル存在確認を行う。
存在すれば実行する。
実行結果がエラーだったら、その旨のメッセージをログに出力する。
エラーがなければ正常処理の終了メッセージをログに出力する。

f:id:seyoshinori:20161024173934p:plain

■subroco.shの処理
なんでもない3つのif文がある。
「sh ./roro.sh」という存在しないshellを実行する。
実行するとエラーコードが戻ってきて終わります。

f:id:seyoshinori:20161024173955p:plain


■roco.shの実行
何も考えずに呼び出す側のshellを実行する。

f:id:seyoshinori:20161024174018p:plain


コンソール上にsubcoro.shの実行結果が表示される。

実行が終わると、カレントディレクトリ上にexe.logというファイルが作られる。
これはroco.shが出力したファイルです。
ファイルの中身を確認すると、実行結果のメッセージが保存されている。

f:id:seyoshinori:20161024174030p:plain

 

参考URL
http://qiita.com/zayarwinttun/items/0dae4cb66d8f4bd2a337
http://d.hatena.ne.jp/igapyon/20140125
http://d.hatena.ne.jp/yohei-a/20091222/1261458975
http://d.hatena.ne.jp/fantasista_ik/20090825/1251183315
http://qiita.com/tag1216/items/7ce35b7c27d371165e56

 


End