Я наткнулся на скрипт оболочки, где echo $?
использовался. Что это значит . Как мы можем использовать это в сценарии оболочки. Есть ли ссылки для этого.
2
2 ответа
4
echo $?
означает статус вашей предыдущей команды
посмотрите пример здесь
[root@localhost ~]# jk -bash: jk: command not found [root@localhost ~]# echo $? 1 [root@localhost ~]# pwd /root [root@localhost ~]# echo $? 0 [root@localhost ~]#
Сначала вы получаете 1, потому что команда неверна И во второй раз вы получаете 0, потому что команда была успешной
Нет команды с именем jk
(в моем случае)
1
$? возвращает результат последней команды запуска в оболочке bash (и, возможно, другой)
Из http://tldp.org/LDP/abs/html/exit-status.html пример 6-1:
#!/bin/bash echo hello echo $? # Exit status 0 returned because command executed successfully. lskdf # Unrecognized command. echo $? # Non-zero exit status returned -- command failed to execute. echo exit 113 # Will return 113 to shell. # To verify this, type "echo $?" after script terminates. # By convention, an 'exit 0' indicates success, #+ while a non-zero exit value means an error or anomalous condition. # See the "Exit Codes With Special Meanings" appendix.