逆引きシェルスクリプト/設定でstdout,stderrの出力先をファイルにする
の編集
Top
/
逆引きシェルスクリプト
/
設定でstdout,stderrの出力先をファイルにする
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * 標準出力、標準エラーをexecコマンドにより指定 [#c98b86ac] シェルスクリプトを作成し、各種メッセージをファイルに出力する場合、>>を使ってファイルに出力したりしますね。~ これを、最初に一回設定すれば良い方法を記します。~ ''注意'' この設定により出力は全てファイルに出力されます。したがって、画面には出力されません。 #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) *関連資料 [#i9b23040] -[[teeコマンドでstderr(標準エラー)も対象にする>逆引きUNIXコマンド/teeコマンドでstderr(標準エラー)も対象にする]] -[[2>&1をでバックグラウンド実行の&は何処に記述する?>逆引きUNIXコマンド/2>&1をでバックグラウンド実行の&は何処に記述する?]] -[[標準エラー出力をファイルに出力する方法>逆引きUNIXコマンド/標準エラー出力をファイルに出力する方法]] -[[echoコマンドの出力を標準エラー(stderr)に出力する方法>逆引きUNIXコマンド/echoコマンドの出力を標準エラー(stderr)に出力する方法]] -[[画面出力しながらファイルにも出力したい・teeコマンド>逆引きUNIXコマンド/画面出力しながらファイルにも出力したい]] * execコマンドにより出力先の指定 [#b5bf9c64] 以下のサンプルスクリプトのように、最初にexecにより出力先を指定します。~ 以下の例では、標準出力をstdout.logに標準エラーをstderr.logに出力するようにしています。~ サンプルスクリプトではdateコマンドを利用し、dateコマンドの正常終了と異常終了(標準エラーに出力される)を記述し実行してみます。 ** サンプルスクリプトの説明 [#u3056567] #ref(exec_sample.sh) 以下のサンプルは3行目のdateコマンドは正常終了、4行目のdateコマンドはオプションエラーとなります。~ サンプルスクリプト実行後、stderr.logとstdout.logファイルが作成されています。 #!/bin/bash exec 2>> stderr.log 1>> stdout.log date date error # Option error ** サンプルスクリプトを実行 [#c5c8eccb] サンプルスクリプトに実行権限を付与し実行します。~ 実行後、stdout.log, stderr.logファイルが作成されていることが確認できます。~ 作成されたファイルをcatにて確認すると、出力結果が各ファイルに出力されていることが確認できます。 $ chmod +x exec_sample.sh $ ./exec_sample.sh $ ls std*.log stderr.log stdout.log $ cat stdout.log 2011年 3月 3日 木曜日 12:34:56 JST $ cat stderr.log date: invalid date `error' * 標準出力と標準エラーを同一のファイルに出力したい [#a2388f88] 標準出力と標準エラーを同一のファイルに出力したい場合は、サンプルスクリプトの2行目を以下のように変更すれば可能です。~ 標準出力と標準エラーの両出力がstdouterr.logに出力されます。 exec >> stdouterr.log 2>&1 #br #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html) #br
タイムスタンプを変更しない
#navi(../) * 標準出力、標準エラーをexecコマンドにより指定 [#c98b86ac] シェルスクリプトを作成し、各種メッセージをファイルに出力する場合、>>を使ってファイルに出力したりしますね。~ これを、最初に一回設定すれば良い方法を記します。~ ''注意'' この設定により出力は全てファイルに出力されます。したがって、画面には出力されません。 #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) *関連資料 [#i9b23040] -[[teeコマンドでstderr(標準エラー)も対象にする>逆引きUNIXコマンド/teeコマンドでstderr(標準エラー)も対象にする]] -[[2>&1をでバックグラウンド実行の&は何処に記述する?>逆引きUNIXコマンド/2>&1をでバックグラウンド実行の&は何処に記述する?]] -[[標準エラー出力をファイルに出力する方法>逆引きUNIXコマンド/標準エラー出力をファイルに出力する方法]] -[[echoコマンドの出力を標準エラー(stderr)に出力する方法>逆引きUNIXコマンド/echoコマンドの出力を標準エラー(stderr)に出力する方法]] -[[画面出力しながらファイルにも出力したい・teeコマンド>逆引きUNIXコマンド/画面出力しながらファイルにも出力したい]] * execコマンドにより出力先の指定 [#b5bf9c64] 以下のサンプルスクリプトのように、最初にexecにより出力先を指定します。~ 以下の例では、標準出力をstdout.logに標準エラーをstderr.logに出力するようにしています。~ サンプルスクリプトではdateコマンドを利用し、dateコマンドの正常終了と異常終了(標準エラーに出力される)を記述し実行してみます。 ** サンプルスクリプトの説明 [#u3056567] #ref(exec_sample.sh) 以下のサンプルは3行目のdateコマンドは正常終了、4行目のdateコマンドはオプションエラーとなります。~ サンプルスクリプト実行後、stderr.logとstdout.logファイルが作成されています。 #!/bin/bash exec 2>> stderr.log 1>> stdout.log date date error # Option error ** サンプルスクリプトを実行 [#c5c8eccb] サンプルスクリプトに実行権限を付与し実行します。~ 実行後、stdout.log, stderr.logファイルが作成されていることが確認できます。~ 作成されたファイルをcatにて確認すると、出力結果が各ファイルに出力されていることが確認できます。 $ chmod +x exec_sample.sh $ ./exec_sample.sh $ ls std*.log stderr.log stdout.log $ cat stdout.log 2011年 3月 3日 木曜日 12:34:56 JST $ cat stderr.log date: invalid date `error' * 標準出力と標準エラーを同一のファイルに出力したい [#a2388f88] 標準出力と標準エラーを同一のファイルに出力したい場合は、サンプルスクリプトの2行目を以下のように変更すれば可能です。~ 標準出力と標準エラーの両出力がstdouterr.logに出力されます。 exec >> stdouterr.log 2>&1 #br #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html) #br
テキスト整形のルールを表示する
添付ファイル:
exec_sample.sh
941件
[
詳細
]