что делает xfsprogs в установке ubuntu?

Вот простой пример:

PS1='$? > '

Если вы используете двойные кавычки, вам нужно добавить обратную косую черту, чтобы выйти из $:

PS1="\$? > "

Выход:

0 > echo 'ok'
ok
0 > bogus
bogus: command not found
127 > 

Еще лучший способ - напечатать только код выхода, если он не равен нулю.

PS1='${?#0}> '    # single quote example
PS1="\${?#0}> "   # double quote example (requires extra backslash)

Пример вывода:

> echo 'ok'
ok
> bogus
bogus: command not found
127> 

Объяснение: ${var#pattern} - это расширение параметра bash, которое означает удаление кратчайшего совпадающего шаблона с лицевой стороны $ var. Таким образом, в этом случае мы удаляем 0 с фронта $?, что эффективно сокращает код выхода из 0.

Если использовать двойные кавычки, $? будет заменен, когда PS1 устанавливается, а не оценивается каждый раз. Сделайте echo $PS1, чтобы подтвердить, что у вас нет жестко заданного значения в PS1.

1
задан 12 November 2015 в 18:13

0 ответов

Другие вопросы по тегам:

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