Подтвердить что ты не робот

Зачем использовать $HOME над ~ (тильдой) в оболочке script?

Есть ли какая-либо причина использовать переменную $HOME вместо простой ~ (тильды) в оболочке script?

4b9b3361

Ответ 1

Расширение Tilde не работает в некоторых ситуациях, например, в середине строк, таких как /foo/bar:~/baz

Ответ 2

Переносимость и однородность $HOME. Тильда - ярлык ввода.

Ответ 3

Сегодня я обнаружил, что расширение тильды не работает в двойной кавычке ("").

В zsh (извините, я не проверял поведение других оболочек.),

Внутренние двойные кавычки (""), замена параметров и команд

Расширение Тильды - это расширение имени файла, поэтому он не работает в двойной кавычке.
$HOME является заменой параметра и может быть расширен внутри двойной кавычки.
$HOME - безопасная ставка.