Вместо использования ~
, измените реальный путь (т. Е. /home/<your username>/...
), он должен работать как положено.
Чтобы уточнить, это не специфическая проблема Java, попробуйте это вshell:
$ echo ~/.bashrc:~/.bashrc
Вы должны получить что-то вроде:
/home/icyrock.com/.bashrc:~/.bashrc
(где icyrock.com
, конечно, заменяется вашим логином).Второй ~ не расширен bash, поэтому сталкиваюсь с проблемами.Вы ожидаете, что он расширится до:
/home/icyrock.com/.bashrc:/home/icyrock.com/.bashrc
Вот почему у вас есть опыт "первый работает, второй нет".
Просмотр руководства по bash:
Вы можете увидеть это:
Если слово начинается с символа кавычки без кавычек ('~'), все символы до первой косой черты без кавычек (или все символы, если нет косой черты без кавычек) считаются префиксом тильды.
(выделение мое), поэтому только первая тильдарасширен, так как вторая тильда находится не в начале слова.