要在项目文件夹中以管理员身份运行 bash 控制台 (Windows),目前我首先以管理员身份启动 bash,然后手动导航到该文件夹,这非常费力。有没有办法直接在此文件夹中获取“以管理员身份运行”bash 控制台的图形快捷方式?
答案1
可以通过任何 Windows shell 中的bash
命令(通常位于C:\Windows\System32\bash.exe
)启动 Windows Subsystem for Linux (WSL)。此命令会将您带入 Linux bash
shell在当前目录中运行,这意味着这实际上非常容易做到。
(当然,话虽如此,命令结果却出奇地丑陋。)通常,您需要的命令是:powershell -c start -verb runas cmd '/c start /D "<dirname>" bash.exe'
我们使用 Powershell 的start
命令,它支持通过 以管理员身份启动程序-verb runas
。但是,如果正在运行的程序在 System32 中,则其工作目录将始终以 System32 启动。因此,让cmd
(或powershell
)再次使用其start
命令来启动bash
使用所需的工作目录. 不过,我们设置该目录的方式有所不同。
请注意,所有这些方法都会导致 UAC 提示看起来像是 Powershell。
使用 Windows 资源管理器文件夹上下文菜单
这样您就可以右键单击任何文件夹以以管理员身份启动 bash。
如果你想要截图等,请参阅这里:
- 打开
regedit
并导航到 HKEY_CLASSES_ROOT\Directory\shell - 添加一个新的子项,将其命名为“AdminBash”
- 将新子项的默认(字符串)值更改为您希望实际菜单项显示的内容,例如“在此处以管理员身份打开 bash”
- shift或者,如果您希望新项目仅在右键单击时出现,请向子项添加一个名为“Extended”的字符串注册表值
- 创建一个名为“command”的子子项(例如 HKCR\Directory\shell\AdminBash\command)
- 将新子项的默认值更改为
powershell -c start -verb runas cmd '/c start /D "%V" bash.exe'
- 如果它没有立即显示,请重新启动 Windows 资源管理器(执行此操作的一种简单方法是注销并再次登录)
使用快捷方式(.lnk)
这使您可以创建一个可以位于任何位置的文件,但以管理员身份启动 bash 到目标位置。
- 右键单击桌面或任何 Windows 资源管理器目录(而不是文件),然后选择新建 -> 快捷方式
- 将目的地设置为
powershell -c start -verb runas cmd '/c start /D "<tartget>" bash.exe'
替换为您要打开的位置。 - 设置您想要的任何其他属性,如文件名、图标和/或快捷键。
使用批处理(.cmd 或 .bat)文件:
这样,您就可以将文件拖放到任何您想要的位置,双击该文件时将在该位置以管理员身份启动 bash(如果从 Windows shell 打开,它将继承该 shell 的位置,但仍以管理员身份运行;如果您将其添加到 Windows PATH 中的目录,这可能会很有用)。
- 创建批处理文件(可以使用 Windows 资源管理器上下文菜单(如上所示)创建文本文件并更改扩展名,或者使用任何文本编辑器)
- 将文件的内容设置为以下内容:
powershell -c start -verb runas cmd '/c start /D "%CD%" bash.exe'
答案2
我的“Windows 上的 Ubuntu 上的 Bash”应用程序已固定在任务栏上。我所要做的就是如下操作:
右键单击“Windows 上的 Ubuntu 上的 Bash”应用程序并选择特性。
在下面捷径选项卡,点击先进的。
选择以管理员身份运行复选框并应用更改。
就是这样!
答案3
我假设您熟悉使用 vim,并在提供答案时使用它。您可以通过执行以下操作将 Bash for Windows 配置为默认导航到特定目录(文件夹):
编辑
.bashrc
文件。这必须在 Bash 中完成,因为您需要通过基于 Linux 的应用程序编辑文件。在 Windows 应用程序内部编辑此文件很可能会导致其损坏。 在 Bash 中输入以下内容:cd ~ vim .bashrc
接下来按并将
a
以下行附加到文件末尾:cd /mnt/c/yourFolder/
请注意,此示例假设您的文件位于 C 盘下,名为 yourFolder 的文件夹中。
保存更改。(通过按下
ESC
键,写入:wq
然后按下ENTER
键)。重新启动 Bash。
答案4
我假设您的意思是写“shell”或“cmd”而不是“bash”,因为后者会表明您正在运行 Windows 版本的 bash shell,它是一个 *nix shell(我使用 Cygwin)。
无论哪种情况,您都可以按照通常的方式创建快捷方式。即:
- 右键,创建快捷方式。
- 输入快捷方式的可执行文件 - 标准 Windows Shell 为“cmd”,如果您实际使用 bash,则为 c:\cygwin\bin\bash。对于标准 Shell,您只需键入“cmd”作为位置(无需输入完整路径)。
- 确认创建快捷方式。
- 打开快捷方式的属性。
- 设置命令应运行的路径。
- 在高级选项中,您可以启用以管理员身份运行
- 根据需要申请/确认。