Обычно ~ в моей оболочке отображается в /home/myuserid . Как я могу сделать это сопоставить с другим каталогом?
3 ответа
Если вы действительно хотите это сделать, вы можете export HOME=/directory/you/want .
Например
~ $ export HOME=/tmp
/home/youruser $ cd ~
~ $ pwd
/tmp
Но обратите внимание, что это может привести к поломке, как отмечено в комментарии: все, что ссылается на ваш домашний каталог через $HOME или ~ будет повреждено.
Вы также можете назначить другой путь в /home/user/.bashrc для переменной среды HOME.
export HOME=newpath Например.
export HOME=/home/newuser Это сделает изменение постоянным для каждого сеанса и ~ всегда будет указывать на другой указанный каталог.
Различные варианты для разных обстоятельств:
Как в Linux, так и в Cygwin вы можете временно установить домашний каталог, установив переменную среды
HOME. Для этого используйте следующую команду (обратите внимание на отсутствие пробелов вокруг=)export HOME=/new/dir/pathЭто только временное изменение, и не каждая программа его поймет. Настройка изменится, если вы начнете новый сеанс или перезагрузите компьютер.
В Linux (по крайней мере, в Red Hat, и я был бы очень удивлен, если Ubuntu отличается), вы можете сделать изменение постоянным, выполнив следующую команду (вам может потребоваться быть пользователем root и / или префиксом команды с
sudo).usermod -d /new/dir/path usernameЭто предпочтительнее ответа Маноя, так как это решение фактически просто повторяет вариант 1 каждый раз, когда вы открываете оболочку Bash; не каждая программа подхватит новый каталог.
Чтобы этот эффект вступил в силу, вам необходимо перезапустить все сеансы или просто перезагрузить компьютер.
В Cygwin для постоянного изменения необходимо отредактировать файл Cygwin
/etc/passwdв выбранном вами текстовом редакторе. (Чтобы сделать это с помощью редактора Windows, он, вероятно, будет находиться вC:\cygwin\etc\passwd, но убедитесь, что вы используете редактор, который сохраняет окончания строк, поэтому не Notepad.)Этот файл будет иметь строку, которая выглядит примерно так:
username:unused:23456:12345:U-GRP\username,S-1-2-34-567890-123456-789012:/old/home/dir:/bin/bashВам нужно изменить биты между последним и последним-последним
:s (в приведенном выше чтении это/old/home/dir), чтобы указать каталог, который вы хотите использовать в качестве домашнего каталога пользователя.Опять же, для того, чтобы это вступило в силу должным образом, вам необходимо закрыть все процессы Cygwin и снова открыть их, или просто перезагрузить компьютер, чтобы убедиться, что он работает правильно.
Внимание: Cygwin не имеет пробелов в имени домашнего каталога. Это не поддерживается, вызывает неисчислимые проблемы, и постоянный ответ в списке рассылки Cygwin, когда у людей возникают проблемы, «ну, тогда не делайте этого». В частности, это означает, что домашний каталог, такой как /cygwin/c/Documents and Settings/username/My Documents - плохая идея ™.
