逆引きシェルスクリプト/シェルスクリプト内でコマンドがエラーの場合に即停止する方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* シェルスクリプト内でコマンドがエラーの場合に即停止する...
通常、シェルスクリプト内で使用しているコマンドでエラーが...
次の行のスクリプトが実行されます。~
本資料は、スクリプト内で使用しているコマンドがエラーにな...
即シェルスクリプトが停止する方法を以下に記します。~
尚、使用したシェルはbashになります。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* コマンドがエラーの場合、停止する方法 [#g90d5369]
シェルスクリプトの最初の行のシェルに以下のように-eオプシ...
#!/bin/bash -e
これで、シェルスクリプト内でコマンドがエラーの場合、スク...
注意点としてifやwhileなどの判定にコマンドの戻り値を判定し...
スクリプトは停止しません。
* 実際にbash -e を試してみる [#f9f93969]
以下、2つのサンプルスクリプトがあります。
:non-opts.sh|-eオプションなし
:e-opts.sh|-eオプションありでbashを起動
** -eオプションなし(non-opts.sh) [#ab47acce]
-サンプルスクリプト
#!/bin/bash
echo "start"
date foo
echo "end"
-サンプルスクリプト実行結果
sakura@hp-mini:~$ chmod +x non-opts.sh
sakura@hp-mini:~$ ./non-opts.sh
start
date: `foo' は無効な日付です
end
dateコマンドの引数エラーによりエラーが出力されていますが、~
endが表示されている通り最後までスクリプトが動作しているの...
** -eオプションなし(e-opts.sh) [#kba9a090]
-サンプルスクリプト
#!/bin/bash -e
echo "start"
date foo
echo "end"
-サンプルスクリプト実行結果
sakura@hp-mini:~$ chmod +x e-opts.sh
sakura@hp-mini:~$ ./e-opts.sh
start
date: `foo' は無効な日付です
dateコマンドが引数エラーによりエラー出力されて、本スクリ...
(endが表示されていない。)
以上、bashを使用してシェルスクリプト内でエラーが発生した...
スクリプトを停止する方法でした。
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
終了行:
#navi(../)
* シェルスクリプト内でコマンドがエラーの場合に即停止する...
通常、シェルスクリプト内で使用しているコマンドでエラーが...
次の行のスクリプトが実行されます。~
本資料は、スクリプト内で使用しているコマンドがエラーにな...
即シェルスクリプトが停止する方法を以下に記します。~
尚、使用したシェルはbashになります。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* コマンドがエラーの場合、停止する方法 [#g90d5369]
シェルスクリプトの最初の行のシェルに以下のように-eオプシ...
#!/bin/bash -e
これで、シェルスクリプト内でコマンドがエラーの場合、スク...
注意点としてifやwhileなどの判定にコマンドの戻り値を判定し...
スクリプトは停止しません。
* 実際にbash -e を試してみる [#f9f93969]
以下、2つのサンプルスクリプトがあります。
:non-opts.sh|-eオプションなし
:e-opts.sh|-eオプションありでbashを起動
** -eオプションなし(non-opts.sh) [#ab47acce]
-サンプルスクリプト
#!/bin/bash
echo "start"
date foo
echo "end"
-サンプルスクリプト実行結果
sakura@hp-mini:~$ chmod +x non-opts.sh
sakura@hp-mini:~$ ./non-opts.sh
start
date: `foo' は無効な日付です
end
dateコマンドの引数エラーによりエラーが出力されていますが、~
endが表示されている通り最後までスクリプトが動作しているの...
** -eオプションなし(e-opts.sh) [#kba9a090]
-サンプルスクリプト
#!/bin/bash -e
echo "start"
date foo
echo "end"
-サンプルスクリプト実行結果
sakura@hp-mini:~$ chmod +x e-opts.sh
sakura@hp-mini:~$ ./e-opts.sh
start
date: `foo' は無効な日付です
dateコマンドが引数エラーによりエラー出力されて、本スクリ...
(endが表示されていない。)
以上、bashを使用してシェルスクリプト内でエラーが発生した...
スクリプトを停止する方法でした。
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
ページ名: