#!/没有文件时显示bin/bash。#/bin/bash应为二进制运算符

#!/没有文件时显示bin/bash。#/bin/bash应为二进制运算符,bash,shell,Bash,Shell,在我们的程序中,我们让shell等待一些特定的文件,如果找到,则执行下一个bash。 几天前代码运行得很好,但最近它显示了一些奇怪的错误 首先,让我们看看代码: #!/bin/bash -xv ... ... field 1 << END | ${interface_redpost_rcv}/__TEMP__/${redpost_id}/xyz.csv.*.IF //files that match this format ${interface_redpost_rcv}/__TE

在我们的程序中,我们让shell等待一些特定的文件,如果找到,则执行下一个bash。 几天前代码运行得很好,但最近它显示了一些奇怪的错误

首先,让我们看看代码:

#!/bin/bash -xv
...
...

field 1 << END |
${interface_redpost_rcv}/__TEMP__/${redpost_id}/xyz.csv.*.IF //files that match this format
${interface_redpost_rcv}/__TEMP__/${redpost_id}/abc.csv.*.IF //and this
...
...

END
while read fn ; do
  while : ; do
    [ -e ${fn} ] && break

    sleep 10

    # リミット
    [ $(date +%H%M) -lt ${limit} ] || exit 1
  done
done
在日志中,这里是
'['-e'#!/bin/bash'-xv']
,这是
#/bin/bash
来自哪里

BASH版本:

GNU bash, version 4.2.46 (2) -release (x86_64-redhat-linux-gnu)

如果有人能指出问题所在,以及是否有其他更好的解决方案可以在bash上实现等待文件,这将非常有帮助。

您没有说明如何执行程序,但始终双引号引用您的变量,除非您有意要另一种行为<代码>[-e“${fn}”]正确。请将您的脚本粘贴到此处:谢谢您的快速回复。这些文件被授予执行权限,并使用路径和文件名执行。还有一个叫做作业自动化的软件,它管理所有bash文件并自动化整个过程。刚离开办公室。我明天早上要做的第一件事就是检查你给我的网站。谢谢你的建议。当从其他目录执行时,脚本很好。bash是否因其位置的不同而表现出不同的行为?我将等待你宝贵的建议。
GNU bash, version 4.2.46 (2) -release (x86_64-redhat-linux-gnu)