Bash終了と終了ステータスコード
1329 ワード
-----------------------------------------------------------------Sun-------------------------------------------------------------------
一、退出状態コード
1.終了
exitはスクリプトを終了するために使用され、値も返され、この値はスクリプトの親プロセスに渡され、親プロセスはこの値を使用して次の処理を行います.
2.終了ステータスコード
各コマンドは、終了ステータスコード(戻りステータスとも呼ばれる場合があります)を返します.
成功したコマンドは0を返し、成功しないコマンドはゼロ以外の値を返し、ゼロ以外の値は通常エラーコードとして解釈されます.
同様に、スクリプト内の関数とスクリプト自体も終了ステータスコードを返します.スクリプトまたはスクリプト関数で実行される最後のコマンドは、ステータスコードを終了することを決定します.
スクリプトでは、exit nnnコマンドはnnn終了コードをshellに渡します(nnnは10進数で、範囲は0-255でなければなりません).スクリプトがパラメータを持たないexitコマンドで終了すると、スクリプトの終了ステータスコードは、スクリプトで最後に実行されるコマンドによって決定されます(exit以前のコマンドです).
二、一つの条件を反転する使い方
! コマンドとの間にスペースが必要です.
一つの命令なら!最初にBashの履歴メカニズムが有効になります
今回は結果を反転させず、前のコマンドtrueを繰り返しただけです.
一、退出状態コード
1.終了
exitはスクリプトを終了するために使用され、値も返され、この値はスクリプトの親プロセスに渡され、親プロセスはこの値を使用して次の処理を行います.
2.終了ステータスコード
各コマンドは、終了ステータスコード(戻りステータスとも呼ばれる場合があります)を返します.
成功したコマンドは0を返し、成功しないコマンドはゼロ以外の値を返し、ゼロ以外の値は通常エラーコードとして解釈されます.
同様に、スクリプト内の関数とスクリプト自体も終了ステータスコードを返します.スクリプトまたはスクリプト関数で実行される最後のコマンドは、ステータスコードを終了することを決定します.
スクリプトでは、exit nnnコマンドはnnn終了コードをshellに渡します(nnnは10進数で、範囲は0-255でなければなりません).スクリプトがパラメータを持たないexitコマンドで終了すると、スクリプトの終了ステータスコードは、スクリプトで最後に実行されるコマンドによって決定されます(exit以前のコマンドです).
#!/bin/bash
echo hello
echo $? # 0,
lskdf #
echo $? # ,
exit 113 #
# echo $? 113
$? 前のコマンドの実行結果を指します.二、一つの条件を反転する使い方
#!/bin/bash
true
echo "exit status of \"true\" = $? " #exit status of "true" = 0
! true
echo "exit status of \"!true\" = $? " #exit status of "! true" = 1
! コマンドとの間にスペースが必要です.
一つの命令なら!最初にBashの履歴メカニズムが有効になります
$ true
$ echo $?
0
$ !true
$ true // !true true
$ echo $?
0
今回は結果を反転させず、前のコマンドtrueを繰り返しただけです.