Cygwin在运行执行另一个Shell脚本的Shell脚本时给出“没有这样的文件或目录”错误

时间:2019-07-29 19:00:45

标签: bash cygwin mintty

我创建了一个简单的Shell脚本,该脚本在同一目录中执行另一个Shell脚本。在cygwin之外执行时,两个脚本都可以正常工作,但是当我以薄荷味执行文件时,会出现“没有这样的文件或目录”错误。

我曾尝试以几种方式(例如,. ./script2.sh./script2.sh)更改首先执行的脚本中的行以访问第二个脚本,但结果相同。

注1:我意识到有几个类似的问题,但是似乎没有一个问题可以例证或解决我所遇到的确切问题,至少不是我能够找到的问题。

注意2:由于这些脚本将在多个用户之间分发和共享,所以我想解决此问题而不必对PATH设置进行任何手动更改。

我的主脚本(称为mainScript.sh)的原始格式(未进行任何尝试的更改)的内容如下:

    #!/bin/bash

    . script2.sh

我在Windows命令提示符下使用的完整命令是: c:\path\to\mintty.exe -h always -e /cygdrive/C/Users/path/to/script/mainScript.sh

我在执行时收到此错误消息: /cygdrive/C/Users/path/to/script/mainScript.sh: line 3: script2.sh: No such file or directory

1 个答案:

答案 0 :(得分:1)

我相信您会受到启发的,方法是在脚本的第一行之后添加一个pwdecho $PATH和一个ps。将这些结果与通过mintty开始交互式会话并发出相同命令时看到的结果进行比较。