我在Cygwin目录/usr/local/bin
中有脚本foo.sh
。我可以使用mintty
运行它,但不能使用bash。
当我开始的时候,情况是这样的:
foo.sh in mintty - WORKING
foo.sh in bash - NOT WORKING
然后我将export PATH="${PATH}:/usr/local/bin"
行添加到.bashrc
文件中。现在情况如下:
foo.sh in mintty - WORKING
foo.sh in bash - WORKING
however
bash -c foo.sh - NOT WORKING
我需要运行脚本工作的最后一种方法。我将在我的可执行文件中使用它,它是为Windows编译的,所以该命令必须在cmd
中工作。
我的问题是:
- 如何设置变量
PATH
,以与bash -c
一起工作 - 为什么
/usr/local/bin
默认不在PATH
中?有什么理由不去做我想做的事吗?
.bashrc
文件只对非登录shell执行。对于这样的环境,我建议从.bash_profile
:
.bashrc
。echo '. "${HOME}/.bashrc"' >> ~/.bash_profile
这样,您的.bashrc
将包括登录和非登录shell。