Правильный метод для обращения к корневому каталогу пользователя

Я делаю диалоговое меню для VPN Ubuntu, которая звонит другим сценариям как это:

cd
cd myrepo/gui
./filetocall.sh

Первое cd должен гарантировать каталог для второго cd всегда домой.

Существует ли лучший метод, который я могу использовать для обращения к этому в одной строке? (Конкретно не называя пользователя в пути, таким образом, это может устанавливаться и использоваться на нескольких устройствах?)

2
задан 18 November 2018 в 17:12

3 ответа

~ (тильда) или $HOME может использоваться для получения корневого каталога текущего пользователя, таким образом, Вы могли сделать:

cd ~/myrepo/gui
cd "$HOME/myrepo/gui"

Или даже выполните его непосредственно:

~/myrepo/gui/filetocall.sh
"$HOME"/myrepo/gui/filetocall.sh
6
ответ дан 2 December 2019 в 01:25

Используйте тот же метод, используемый login, который старается не дурачиться переопределениями $HOME:

homedir="$(getent passwd $( /usr/bin/id -u ) | cut -d: -f6)"
cd "$homedir"
6
ответ дан 2 December 2019 в 01:25

cd ~/myrepo/gui добьется цели, или немного дольше: cd $HOME/myrepo/gui.

~ ярлык оболочки для пользовательского корневого каталога, $HOME является переменной, установленной оболочкой th для того же.

3
ответ дан 2 December 2019 в 01:25

Другие вопросы по тегам:

Похожие вопросы: