WSL 如何打开指定目录?

3

我想在WSL中打开一个终端。

我知道可以通过执行wsl.exe ~在根目录下打开终端,但是是否有一种方法可以在特定文件夹中打开它呢?

例如,我有一个目录在~/Dev,因此我想在该位置打开WSL。

当我尝试执行wsl.exe ~/Dev时,会出现以下错误:

/bin/bash: /home/myname/Dev: Is a directory

[process exited with code 126]

有没有绕过这个的方法?

3个回答

2
这个怎么样? 在这种情况下,C:\ Users是指定的文件夹。
cmd /k "cd C:\Users && wsl"

1
给定Windows子系统命令参考,我认为这是不可能的:
- 不带参数启动会在当前目录中启动shell - `~`是一个特殊的参数,告诉wsl在用户的主目录中启动shell - 任何其他参数(而非`~`)都将被视为在wsl内执行的命令,并将其输出返回到当前shell
但是,可以使用usermod自定义用户的主目录,但这并不是严格意义上的答案。

1
在WSL2中,
--cd 将指定的目录设置为当前工作目录。 如果使用~,将使用Linux用户的主目录路径。如果路径以/字符开头,则将其解释为绝对Linux路径。 否则,该值必须是绝对Windows路径。
实际上,您可以像这样使用
wsl --cd /home/YourUsername/Desktop

你的回答可以通过提供更多支持性信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人能够确认你的回答是否正确。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接