Адрес 169.254.117.34, вероятно, является адресом link-local, зарегистрированным демоном avahi. См. https://en.wikipedia.org/wiki/Zero-configuration_networking
echo ${test_var:-~/test(N)}
подходит близко. Добавив(N)
(и здесь, поскольку мы находимся в контексте списка ), этот ~/test(N)
становится универсальным, и из-за этого квалификатора N
глобуса, если в$HOME
(~
)нет записи каталога test
, тогда глобус расширяется до нуля.
Это отличается от того, о чем вы спрашиваете, тем, что оно не расширяется вообще до нуля, вместо одного аргумента пробела.
Для этого вы все еще можете сделать это по шагам:
f=(~/test(N)); echo ${test_var:-${f:-' '}}
Вы также можете использовать подстановку команд, хотя это немного жульничает:
echo ${test_var:-"${$(printf %s ~/test(N)):-' '}"}
или:
echo ${test_var:-"$((){<<<${1-' '}} ~/test(N))"}