Как напечатать значение, полученное из команды, или запасное значение, если команда возвращает пустое значение?

У меня есть следующий скрипт

passed=`sed -n 's/.* \([0-9]*\) passed.*/\1/p' evaluation.output`

echo "Passed: $passed"

Моя идея - сделать это во встроенном предложении , используя 0 в качестве запасного значения, например:

passed=`sed -n 's/.* \([0-9]*\) passed.*/\1/p' evaluation.output || 0`

или

echo "$($passed || 0)"

Возможно получить запасное значение, если переменная passed получит пустое значение?

2
задан 5 June 2017 в 23:56

1 ответ

Используйте расширение параметра :

passed=`sed -n 's/.* \([0-9]*\) passed.*/\1/p' evaluation.output`
echo "Passed: ${passed:-0}"
.
0
ответ дан 5 June 2017 в 23:56

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

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