ZSH: проверьте существующий файл перед расширением

Адрес 169.254.117.34, вероятно, является адресом link-local, зарегистрированным демоном avahi. См. https://en.wikipedia.org/wiki/Zero-configuration_networking

1
27.11.2018, 05:20
1 ответ
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))"}
2
27.01.2020, 23:31

Теги

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