【问题标题】:Git-Bash shortcut to run command运行命令的 Git-Bash 快捷方式
【发布时间】:2017-08-08 12:43:56
【问题描述】:

我当前的快捷方式有以下目标:C:\Development\Git\git-bash.exe

我如何让它执行更复杂的事情,例如:

C:\Development\Git\git-bash.exe **ls**

C:\Development\Git\git-bash.exe **java -jar myfile.war**

【问题讨论】:

  • 这看起来很有帮助:stackoverflow.com/questions/21564275/…
  • @TimBiegeleisen 不,我看到了那些。这些都是从 cmd.exe 运行的,我不想从 cmd 运行任何东西。
  • 只需要修改批处理文件即可;运行时您不需要打开命令提示符,因为操作系统会为您执行此操作,然后在 Bash 启动后将其关闭。
  • @TimBiegeleisen 这不是重点,有很多方法可以做到这一点。我不是在寻找另一种有效的方法。我正在尝试了解如何/是否可以修改快捷方式以运行 git-bash 的命令。

标签: bash shell git-bash


【解决方案1】:

您可以修改快捷方式:

 bash.exe --init-file <(echo "ls; pwd")

如果您想要 git-bash,并且为了避免 git-bash 在执行这些命令后立即打开和关闭 Windows,您可以执行(或修改快捷方式):

C:\Development\Git\git-bash.exe -c "ls; $SHELL"

这样,shell 在执行您想要的第一个命令后仍然存在。


Bakercomment 中所述

在 Windows 10/11 中,快捷方式目标特别关注引号。
这种格式似乎有效:

"C:\Program Files\Git\git-bash.exe" -c "emulator -avd Pixel3a -writable-system; $SHELL"

【讨论】:

  • 只有一个问题,我的 .bashrc 中有一个环境变量,它需要作为参数传递给我的函数调用,但它没有被正确扩展。我将如何传递扩展变量?我试过${MY_VAR} 没有成功。
  • @JordanGS 理想情况下,该环境变量应该在 Windows 端定义,而不是在 bashrc 端,因为您的快捷方式还不知道在 bash 午餐时获取(读取)的那些环境变量定义本身。 (这里假设“作为参数传递给我的函数调用”,“函数调用”就是C:\Development\Git\git-bash.exe调用)
  • @JordanGS 如果“我的函数调用”指的是 bash 会话中的某个函数,那么请确保 .basrc 使用 export MY_VAR=xxx 定义 MY_VAR。然后${MY_VAR} 就可以了。
  • 在 Windows 10/11 中,快捷方式目标特别关注引号。这种格式似乎有效:"C:\Program Files\Git\git-bash.exe" -c "emulator -avd Pixel3a -writable-system; $SHELL"
  • @Baker 感谢您的反馈。我已编辑答案以包含您的评论以提高知名度。
猜你喜欢
  • 2021-11-11
  • 2014-03-01
  • 1970-01-01
  • 2013-08-19
  • 1970-01-01
  • 1970-01-01
  • 2013-08-14
  • 2013-04-29
相关资源
最近更新 更多