Что было бы, если?
if [[ $(ping -c1 -w1 google.com) ]]
then
echo "All good in the hood"
else
echo "Where are my interwebs?"
fi
или как одна строка
if [[ $(ping -c1 -w1 google.com) ]]; then echo "All good in the hood"; else; echo "Where are my interwebs?"; fi
В CD ~/z /
вы используете расширение Тильды для расширения ~
в корневой каталог. В ОСНОВА = "~/z"
, вы - то, не потому что вы заключили в кавычки ~
символ, таким образом, это не расширено. Именно поэтому вы получаете сообщение, жалующееся на несуществующее ~
каталог. Решение не состоит в том, чтобы заключить его в кавычки, т.е. ОСНОВА = ~/z
, чтобы позволить расширению произойти.
@jw013 дал обоснованное объяснение и решение.
Но могут быть случаи, когда необходимо процитировать пути, например, когда они содержат несколько пробелов или специальные символы. В этом случае вы должны использовать $HOME
вместо ~
, т.е. ваш BASE="~/z"
станет BASE="$HOME/z"
и будет работать корректно, так как подстановка параметров интерпретируется в двойных кавычках, в отличие от разложения тильд.