我创建了一个简单的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
答案 0 :(得分:1)
我相信您会受到启发的,方法是在脚本的第一行之后添加一个pwd
,echo $PATH
和一个ps
。将这些结果与通过mintty
开始交互式会话并发出相同命令时看到的结果进行比较。