Обычно ~ в моей оболочке отображается в /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 - плохая идея ™.
