![在某个目录打开 Linux 子系统(Windows 上的 Ubuntu 上的 Bash)](https://linux22.com/image/1533948/%E5%9C%A8%E6%9F%90%E4%B8%AA%E7%9B%AE%E5%BD%95%E6%89%93%E5%BC%80%20Linux%20%E5%AD%90%E7%B3%BB%E7%BB%9F%EF%BC%88Windows%20%E4%B8%8A%E7%9A%84%20Ubuntu%20%E4%B8%8A%E7%9A%84%20Bash%EF%BC%89.png)
是否有可用的参数,以便 bash 不会从主目录启动,而是从另一个目录启动?
谢谢
答案1
- 首先在 Windows PC 上安装 Windows Subsystem Linux。转到文件夹,
C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
换句话说,将其放入%AppData%\Microsoft\Windows\Start Menu\Programs
文件资源管理器中。您可以找到一个名为“Windows 上的 Ubuntu 上的 Bash”的快捷方式。
- 将快捷方式复制到任何其他文件夹中。右键单击该快捷方式并打开快捷选项卡在特性。请参阅默认目标路径
C:\Windows\System32\bash.exe ~
。波浪符号(波浪水平线字符)用于表示用户主目录。因此,用户还可以使用波浪符号作为 cd 的参数返回到主目录,即cd ~
- 删除波浪符号(〜)来自目标路径并将文件夹名称放入开始于选项。例如,我输入的是“C:\Program Files\WindowsPowerShell”。如果路径中有空格,请将文件夹路径放在双引号中。现在,您就可以在该文件夹中启动 bash 了。
答案2
要在某个目录中启动 bash,请编辑 .bashrc 文件。键入nano .bashrc
以在 nano 编辑器中打开该文件。添加以下命令:
cd <PATH>
其中 PATH 是您的目录的路径。您甚至可以指定 Windows 文件系统上的目录:
cd /mnt/c/path/in/windows
答案3
为了详细说明我的评论,通过您回复中的附加信息,您可以通过在运行字符串中使用不同的自定义初始化文件设置单独的快捷方式来实现您想要的效果bash
:-
%SystemRoot%\System32\bash.exe --initfile ~/projN
这里N
指的是不同的项目编号或名称。
每个~/projN
文件应包含:-
# Perform normal start-up tasks
[ -r /etc/bash.bashrc ] && . /etc/bash.bashrc
[ -r ~/.bashrc ] && . ~/.bashrc
# Perform additional tasks
cd projNdirectory/
通常,特定的初始化文件会完全取代正常的启动文件,因此需要在自定义文件中调用这些文件,以便bash
使用您熟悉的环境(提示符、别名等)启动PATH
。这是基于 bash 文档的:-
--init-file file
--rcfile file
Execute commands from file instead of the system wide initialization
file /etc/bash.bashrc and the standard personal initialization
file ~/.bashrc if the shell is interactive (see INVOCATION below).