2
echo: write error: Bad file descriptor

在我的代码中(通过几个 bash 脚本)我遇到了这个错误。当我尝试写入或附加到(一个)文件时会发生这种情况。

LOGRUN_SOM_MUT_ANA=/Volumes/.../logRUN_SOMATIC_MUT_ANA

我对这个变量使用绝对路径,并且对每个被调用的脚本使用相同的文件。该文件有一堆像这样的行。我使用导入“。” 在每个脚本上获取它。

echo "debug level set for $DEBUG_LEVEL" >> ${LOGRUN_SOM_MUT_ANA}

值得注意:

  • 它通常发生在我第一次写它之后。
  • 我读到文件“关闭”自己并产生这个错误
  • 我在一个脚本中使用上述行,然后调用另一个脚本。

我很乐意澄清任何事情。

启动脚本

错误

第二个脚本,从第一个调用

4

2 回答 2

2

对于在真正的 Linux 下运行的脚本中在 cygwin 下遇到同样愚蠢错误的其他人:不知道为什么,但它可能会发生:

1) 在脚本中出现语法错误之后

2)因为 cygwin bash 希望你替换./myScript.sh. ./myScript.sh(其中 dot 是 bash 样式的 include 指令,又名source

于 2015-10-06T15:35:50.933 回答
1

我想通了,我使用的拇指驱动器是加密的。它输出到 /tmp/ 所以这是一个许可的事情。那就是问题所在!

于 2012-12-13T13:05:52.833 回答