Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cygwin Shell脚本_Shell_Permissions_Scripting_Cygwin - Fatal编程技术网

Cygwin Shell脚本

Cygwin Shell脚本,shell,permissions,scripting,cygwin,Shell,Permissions,Scripting,Cygwin,我没有运行cygwin,但我在%PATH%中有cygwin ash.exe作为sh.exe,在%PATH%中有cygwin1.dll 我试图使用sh-CShell脚本名调用一些shell脚本(命名时没有扩展名),但我得到一个“权限被拒绝”错误。如果我运行sh并运行./script,我也会得到这个错误。我有一个合适的/bin/sh shebang行,甚至重命名为.sh或.exe都没有效果。我该怎么办?尝试查看Windows权限是否导致问题的一件事是运行并筛选sh.exe和shell脚本名称。这可能

我没有运行cygwin,但我在%PATH%中有cygwin ash.exe作为sh.exe,在%PATH%中有cygwin1.dll


我试图使用sh-CShell脚本名调用一些shell脚本(命名时没有扩展名),但我得到一个“权限被拒绝”错误。如果我运行sh并运行./script,我也会得到这个错误。我有一个合适的/bin/sh shebang行,甚至重命名为.sh或.exe都没有效果。我该怎么办?

尝试查看Windows权限是否导致问题的一件事是运行并筛选
sh.exe
shell脚本名称
。这可能会告诉你是否有你没有的特定权限(例如你可能有读取但没有执行权限)

尝试以交互方式运行shell,即:

c:\>sh
sh# . ./script     or
sh# sh -c ./script

如果这样做有效,那么您就知道cygwin部件工作正常。要检查的另一件事是,脚本的行尾是unix,因为这可能会阻止脚本正确执行。

尝试查看Windows权限是否导致问题的一件事是运行并筛选
sh.exe
shell脚本名
。这可能会告诉你是否有你没有的特定权限(例如你可能有读取但没有执行权限)

尝试以交互方式运行shell,即:

c:\>sh
sh# . ./script     or
sh# sh -c ./script

如果这样做有效,那么您就知道cygwin部件工作正常。要检查的另一件事是脚本的行尾是否为unix,因为这会阻止脚本正确执行。

执行以下操作后,我的所有操作都正常:

$ chmod +x script

做了以下事情后,一切都对我有效:

$ chmod +x script

行结尾不正确。/script失败/脚本成功sh./script成功sh-c./script失败sh-c脚本失败调用sh时是否会导致更改当前工作目录,使其无法找到脚本?尝试
sh-cpwd
我遇到了与@singpolyma完全相同的行为,Procmon告诉我bash正在目录c:\cygwin\home\Mark\unknown\Mark中查找失败案例。这个目录不存在,我不知道为什么bash会在那里查找文件。行结尾是Unix。/script失败/脚本成功sh./script成功sh-c./script失败sh-c脚本失败调用sh时是否会导致更改当前工作目录,使其无法找到脚本?尝试
sh-cpwd
我遇到了与@singpolyma完全相同的行为,Procmon告诉我bash正在目录c:\cygwin\home\Mark\unknown\Mark中查找失败案例。这个目录不存在,我不知道为什么bash会在那里查找文件。