Git Bash:通过 Alias 启动应用程序,无需挂起 Bash (WIndows)

问题描述 投票:0回答:3

我在 Windows 上的 Git Bash 中创建了几个 bash 别名,以从 bash shell 启动可执行文件。

我遇到的问题是,bash 似乎正在等待退出代码,然后才开始再次响应输入,因为一旦我关闭它启动的应用程序,它就会再次开始接受命令。

是否有一个开关或其他东西可以包含在别名中,以便 bash 不等待退出代码?

我正在寻找这样的东西......

alias np=notepad.exe --exit
git bash
3个回答
13
投票

2010:我确认George在评论中提到的内容:

使用“

&
”启动别名可以让您继续操作,而无需等待返回代码。

alt text

与:

alias npp='notepad.exe&'

您甚至不必输入“

&
”。


但是为了包含参数,我建议将脚本(而不是别名)放置在路径中的任何位置,名为“

npp
”的文件中:

/c/WINDOWS/system32/notepad.exe $1 &

将允许您使用“npp anyFile”打开任何文件(不需要“

&
”),而无需等待返回代码。

脚本如下:

for file in $*
do
  /c/WINDOWS/system32/notepad.exe $file &
done

将启动多个编辑器,参数中每个文件一个:

npp anyFile1 anyFile2 anyFile3

会让你


2025:我刚刚测试过:

  • git 版本 2.47.1.windows.1,
  • GNU bash,版本 5.2.37(1)-release (x86_64-pc-msys)
  • Notepad++ v8.7.5(2024 年 12 月)

npp alias

而且它也有效。

$ alias npp="\"$(cygpath -u "C:\Program Files\Notepad++\notepad++.exe")\"&"
$ npp
[1] 285

5
投票

按照与号 (

&
) 的命令在后台运行它。


3
投票

我将 VonC 的解决方案与此 https://stackoverflow.com/a/7131683/1020871 结合起来,获得一个别名,该别名可以启动可执行文件并传递参数,而无需锁定 git bash。将以下内容添加到 .bashrc 中:

npp() {
    notepad++.exe $* &
}

startGitk() {
    gitk $* &
}
alias gitk=startGitk

现在我可以使用记事本 ++ 打开多个文件,例如

npp .gitignore build.gradle
或带有自定义参数的 gitk,例如
gitk test -- .gitignore

我对 npp 有一个与 gitk 类似的别名,但发现我可以直接调用该函数。我也可以调用startGitk,但是当我将其命名为gitk时,它不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.