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

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

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

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

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

2
задан 27 August 2014 в 02:12

2 ответа

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

Попытка следующие команды:

echo ~
HOME=foo
echo ~

Это должно сначала распечатать Ваш реальный корневой каталог и впоследствии "нечто", поскольку Вы устанавливаете $HOME' на это.

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

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

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

Взятый от этого U& L вопрос.

5
ответ дан 5 August 2019 в 08:07

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

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

alias documents='cd ~/Documents'

Теперь, когда Вы тип documents это изменится на /home/user/Documents

[еще 1114] информация в man alias .

Для создания того псевдонима постоянным, проверка этот вопрос .

3
ответ дан 5 August 2019 в 08:07

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

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