$について?
889 ワード
$?最後に実行したコマンドの終了コードを示します
テスト例1
root@bosh:~# cat aexit 2root@bosh:~# sh aroot@bosh:~# echo $?2root@bosh:~# cat a | grep exitexit 2root@bosh:~# echo $?0root@bosh:~# cat a | grep helloroot@bosh:~# echo $?1root@bosh:~#
テスト例2[root@updb-new1 ~]# mysql -uroot -e "show databases"+--------------------+| Database |+--------------------+| information_schema || mysql || test |+--------------------+[root@updb-new1 ~]# echo $?0[root@updb-new1 ~]# mysql -uroot -e "show databases"|grep test2[root@updb-new1 ~]# echo $?1[root@updb-new1 ~]#
説明:1、終了値は0で、実行に成功したか、一致するレコードがあることを示します.2、逆に、実行に成功していないか、一致するレコードが存在しない.
シーンの一般的な使用
実際にスクリプトを作成する場合は、次のif文で前のコマンドが成功したかどうかを判断できます.
テスト例1
root@bosh:~# cat aexit 2root@bosh:~# sh aroot@bosh:~# echo $?2root@bosh:~# cat a | grep exitexit 2root@bosh:~# echo $?0root@bosh:~# cat a | grep helloroot@bosh:~# echo $?1root@bosh:~#
テスト例2[root@updb-new1 ~]# mysql -uroot -e "show databases"+--------------------+| Database |+--------------------+| information_schema || mysql || test |+--------------------+[root@updb-new1 ~]# echo $?0[root@updb-new1 ~]# mysql -uroot -e "show databases"|grep test2[root@updb-new1 ~]# echo $?1[root@updb-new1 ~]#
説明:1、終了値は0で、実行に成功したか、一致するレコードがあることを示します.2、逆に、実行に成功していないか、一致するレコードが存在しない.
シーンの一般的な使用
実際にスクリプトを作成する場合は、次のif文で前のコマンドが成功したかどうかを判断できます.
if [ $? -ne 0 ]
then
echo ' or '
fi