windows - 如何将 .sh 文件与 Cygwin 相关联?

标签 windows bash cygwin

我想通过双击 Windows 中的 .sh 文件在 Cygwin 中运行一个长的 rsync 命令。它必须从文件的包含目录(例如/cygdrive/c/scripts/)开始,以便相对路径起作用。有人让这个工作吗?

注意:我刚找到 here ,一个管理 Windows 上下文菜单的 Cygwin 包(Bash Prompt Here)。它可能有一些线索。

最佳答案

好的,我找到了一些有用的东西。像 Vladimir 建议的那样关联一个批处理文件是行不通的,但 bash 参数是关键。

简短而贴心:与此命令关联:"C:\cygwin\bin\bash.exe"-li "%1"%*

长版如果你不知道怎么做:

  1. 在资源管理器中,转到“工具”/“文件夹选项”/“文件类型”。
  2. 我已经有一个 Bash 脚本的 SH 条目。如果您没有,请单击“新建”并输入“SH”以创建一个。
  3. 选择 SH 扩展后,单击“高级”。
  4. 选择“打开”操作并点击编辑(或创建操作)。
  5. 这是要使用的命令:"C:\cygwin\bin\bash.exe"-li "%1"%*。请注意,如果没有 -li,它会在我的脚本中返回“找不到命令”。

您可能还想将 SH 添加到您的 PATHEXT 环境变量中:

WinKey+Pause/高级/环境变量/系统变量/PATHEXT

谢谢你们的帮助,伙计们!

关于windows - 如何将 .sh 文件与 Cygwin 相关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/105075/

相关文章:

windows - CertCreateCertificateContext 返回 CRYPT_E_ASN1_BADTAG/8009310b

linux - 如何获取当前附加的 screen session 名称?

cygwin - 为什么 P4 不为我提交 Open Emacs?

windows - OS Loaderlock 的工作原理

Windows 服务截图?

c++ - 如何使用两个参数获得 memfun

linux - Bash 脚本变量替换

MySQL:执行命令

ssh - 通过 cygwin openssh 执行时访问被拒绝

windows - 无法在 Cygwin 中将 shell 脚本作为 KornShell 脚本执行