что такое $? означает в сценарии оболочки?
Я столкнулся с сценарием оболочки, который содержит инструкцию вроде:
if [ $val -eq $? ]
Что такое $?
значит здесь?
Ответы
Ответ 1
$?
возвращает статус последней законченной команды. Состояние 0 сообщает, что все закончилось нормально.
Кроме того, знак $
является специальным символом - и в этом случае $val
извлекает значение, которое удерживается переменной val
Ответ 2
$#
= количество аргументов. Ответ 3
.
[email protected]
= какие параметры были переданы. Ответ 1 2 3
.
$?
= Последняя команда была успешной. Ответ 0
что означает "да".
Ответ 3
Я обнаружил, что ссылка очень полезна и является отличным ответом. Он включает четкое выражение с образцом.
![enter image description here]()
Ответ 4
Что такое $? значит здесь?
$? является последним результатом статуса выхода... 0 по умолчанию является "успешным"
bash# ls *.*
bash# echo $?
bash# 0
bash# ls /tmp/not/existing/
bash# echo $?
bash# 2
Ответ 5
Это значение статуса выхода предыдущей команды. Это 0
в случае успеха.
Ответ 6
ls *.*
или ls
даст тот же результат. Значение показывает ноль или более файлов с любым расширением в текущем каталоге.
echo $?
будет отображать статус выхода. Если из последней команды отображается хотя бы один файл, статус выхода будет равен нулю (успех).