首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过Cygwin mintty.exe在Windows上运行shell脚本不会执行runcoms

通过Cygwin mintty.exe在Windows上运行shell脚本不会执行runcoms
EN

Stack Overflow用户
提问于 2022-08-15 15:38:00
回答 1查看 102关注 0票数 0

问题摘要

我试图通过Windows10Cygwin启动.sh脚本(即mintty.exe > bash.exe),但是.profile、.bash_profile或.bashrc都没有加载,我需要用Cygwin的bin目录更新PATH env变量。

背景

我正在尝试启动一个脚本finder.sh

代码语言:javascript
运行
复制
#!/bin/bash
find .
read

来自C:\Users\Bo\Temp\。它有unix行尾和可执行位集。

我在C:\Users\Bo\AppData\Local\Programs\cygwin64\安装了Cygwin。无论是在系统中还是用户Windows的环境变量中,我都没有这个路径(而且我不想!)。我的runcoms都位于/home/Bo下的这个目录中。我的.bash_profile (和自动取款机.bashrc)里面有一个export PATH="/cygdrive/c/Users/Bo/AppData/Local/Programs/cygwin64/bin":${PATH}

我想从Windows 启动脚本。我尝试使用bash.exemintty.execygwin64\bin\文件夹中通过Open > Choose another app > More apps > Look for another app on this PC。在任何一种情况下,薄荷窗口都会显示:

代码语言:javascript
运行
复制
FIND: Parameter format not correct

也就是说Windows的find命令不是Cygwin的,所以我的脚本回显$PATHCygwin/bin目录不在PATH中。如果我从上面添加正确的export PATH语句到我自己的脚本中,它就能正常工作。所以现在要调试发射器和运行组件..。

我将echo ${0}语句放入.profile、.bash_profile和.bashrc中,这些语句中没有一个触发了运行.sh脚本的触发器,它们从未运行过。我读过这些书和男人们。我尝试为mintty.exe和bash.exe创建一个快捷方式,将各种-l -i -e -命令传递给每个使用Properties > Shortcut > Target的命令,这些命令永远不会运行。简单地运行[..]\mintty.exe -h always甚至不打开窗口。

如何通过Cygwin的mintty.exe/bash.exe在Windows中运行脚本,并从runcom读取更新路径(查找Cygwin命令,而不是更新Windows变量)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-15 18:43:13

两部分修复:

( A)将用于的Windows环境变量设置为Cygwin下的.bash_env,并导出路径变量以包含该文件中的Cygwin/bin目录。我在Cygwin文档中找不到合适的引用,因为它似乎只是一个 bash ,但是这个变量是bash在非登录/交互运行时所寻找的。最佳参考资料:Cygwin shell doesn't execute .bashrc

和B)使用.sh Openwith.从Cygwin/bin运行带有bash.exe

另外,烦人的Windows :当您选择一个程序打开.您的.sh脚本,它总是运行1x从您的C:\Windows\System32 32目录(?!)所有其他时间都将运行良好,CWD作为您的.sh脚本中的目录。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73363276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档