Есть ли какая-либо причина использовать переменную $HOME
вместо простой ~
(тильды) в оболочке script?
Зачем использовать $HOME над ~ (тильдой) в оболочке script?
Ответ 1
Расширение Tilde не работает в некоторых ситуациях, например, в середине строк, таких как /foo/bar:~/baz
Ответ 2
Переносимость и однородность $HOME
. Тильда - ярлык ввода.
Ответ 3
Сегодня я обнаружил, что расширение тильды не работает в двойной кавычке (""
).
В zsh (извините, я не проверял поведение других оболочек.),
Внутренние двойные кавычки (
""
), замена параметров и команд
Расширение Тильды - это расширение имени файла, поэтому он не работает в двойной кавычке. $HOME
является заменой параметра и может быть расширен внутри двойной кавычки. $HOME
- безопасная ставка.