Терминал не сбрасывается в предыдущее состояние при выходе из справочной страницы или vim в XFCE

true в bash — это не ключевое слово, это программа, которая мгновенно завершает работу с успешным кодом выхода. Точно так же false— это программа, которая завершается с неудачным кодом выхода.

Вы можете попробовать это, запустив обе программы с вашего терминала, а затем прочитав переменную $?, которая содержит код выхода последней программы;

true
echo $? # 0
false
echo $? #1

if sudo trueне эквивалентно if sudo == true. if sudo trueзапускает программу true, используя sudo, и проверяет код выхода.

Поэтому:

if sudo false; thenзапускает программу falseкак sudo. Возврат всегда будет ложным.

if sudo true == falseзапустит программу trueс аргументами ==и false, используя sudo. Это явно не то, чего вы хотели.

if [!(sudo true)]недопустимый синтаксис.

Вероятно, вы ищете

if ! sudo true;
-1
11.07.2020, 21:52
0 ответов

Теги

Похожие вопросы