如何使用自定义bashrc使用Git bash运行脚本?

时间:2014-03-08 11:59:33

标签: bash shell git-bash

我试图让bash脚本在git bash中运行,同时指定一个不同于我主目录中的.bashrc(或根本没有)但是它证明是一项不可能完成的任务。

根据我的理解,这应该有效:

“C:\ Program Files(x86)\ Git \ bin \ sh.exe”--rcfile .bashrc --login -i C:/Scripts/myscript.sh

然而,无论我尝试什么,都会完全忽略--rcfile文件标志,否则脚本会得到解析错误,因为它不会被bash解析。

以下是我的发现:

  • - 需要登录标志才能通过bash而不是Windows命令提示符
  • 来解析脚本
  • - 如果使用标志--login
  • ,则完全忽略rcfile和--norc

我已经尝试了所有可能的组合,包括调用我的.bashrc文件中的脚本,交换标志,使用-c标志运行脚本命令并交换我的.bashrc文件以尝试使用 - -norc flag而不是。

这只是windows的糟糕bash实现的结果还是我做错了什么?

对此事的任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

您可以尝试在.bashrc脚本中搜索myscript.sh

source .bashrc

. .bashrc

答案 1 :(得分:1)

据我所知,-i标志被提供bash运行脚本的事实所覆盖。您的shell实际上不是交互式的,因此忽略--rcfile。我可以告诉运行脚本来源附加文件的唯一方法是使用非交互式登录shell;但是,在这种情况下,您只能使用.bash_profile.bash_login.profile,无论哪个先找到:

bash --login myscript.sh

--loginfile之前没有myscript.sh覆盖选择的文件来源。


更新:我忘了BASH_ENV

export BASH_ENV=.bashrc
bash myscript.sh

我不知道如何在Git bash中将BASH_ENV添加到您的环境中。