Когда вы запускаете команду в оболочке Bash, например:
command ~/myfile.txt
оболочка сначала выполняет расширение ~
(если оно не заключено в кавычки), затем запускает команду с результатом.
Но это правда, некоторые программы не интерпретируют ~
, например:
$ cat "~/myfile.txt"
~/myfile.txt: No such file or directory
но это работает инстед:
nano "~/myfile.txt"
Но это поведение маскируется расширением Bash, поэтому вам не требуется дополнительная интерпретация.
Может быть, это очевидно, но обратите внимание, что если программа использует файлы конфигурации и ожидает, что в них есть какие-то пути, расширять их не является обязанностью Bash.