从cmd运行cygwin bash文件时相对路径出错

时间:2014-06-06 13:41:13

标签: cmd cygwin relative-path

我有cygwin bash.sh文件,其中包含以下内容:

bash.sh:

  

cd"数据处理"

"数据处理"在bash.sh的同一目录中

由于某种原因,我试图从cmd而不是cygwin运行此bash文件。 首先,我用cygwin bin目录更新了路径环境变量。

cmd命令:

cd "<the-bash-file-directory>" 
bash --login -c "bash '<the-bash-file-directory>\\bash.sh'"

然后它给了我那个错误:

错误

  

cd:数据处理:没有这样的文件或目录

我是初学者,使用cmd和cygwin,并且很多时间都在相互运行并混淆路径!

1 个答案:

答案 0 :(得分:0)

因为bash.sh不是从<the-bash-file-directory>运行的。它是从您的主目录运行的。 --login开关导致这种情况发生。你需要做这样的事情:

bash --login -c "cd <the-bash-file-directory> && ./bash.sh"

或删除--login开关,如果可以:

cd "<the-bash-file-directory>"
bash -c "./bash.sh"