Как изменить значение ~

Как изменить значение ~

по умолчанию ~задается значение/home/username/

т.е. если я использую команду, cd ~она переходит в каталог/home/username/

Как изменить его значение на какой-либо другой файл, например /home/username/filename?

Я знаю, что это может быть опасно, но я работаю над CTF, так что все в порядке.

решение1

Тильда (~) интерпретируется вашей оболочкой как краткая форма $HOME.

Попробуйте выполнить следующие команды:

echo ~
HOME=foo
echo ~

Сначала должен быть выведен ваш настоящий домашний каталог, а затем «foo», поскольку вы установили $HOME` на это значение.

Значение по умолчанию $HOMEберется из конфигурации вашей системы. Используйте getent passwdдля перечисления всех известных пользователей и их домашних каталогов. В зависимости от конфигурации вашей системы эти записи могут поступать из /etc/passwdлюбой удаленной службы каталогов.

Если вы хотите временно переопределить свой домашний каталог, просто задайте другой $HOME.

Если вы хотите изменить его навсегда, вам придется изменить запись пароля, например, вручную отредактировав /etc/passwd.

Взято из этого вопроса U&L.

решение2

Попробуйте изменить $HOMEпеременную , так как тильда ( ~) — это краткая форма $HOME, или измените домашний каталог пользователя на , /etc/passwdно это не рекомендуется.

Почему вы не пытаетесь сделать ипсевдонимдля cd /home/username/filenameэтого типа:

alias documents='cd ~/Documents'

Теперь при вводе текста documentsон изменится на/home/user/Documents

Дополнительная информация вman alias.

Чтобы сделать этот псевдоним постоянным,проверьте этот вопрос.

Связанный контент