Bash:从文件 interactive/cron 中读取的不同行为

Bash: different behaviour reading from file interactive/cron

我有一个脚本可以在处理过程中将大约 20 个数字逐行写入文件。

当脚本再次启动时,它会使用此代码从该文件中读取

declare -a sedum
i=0
while read -r line
do
    sedum[$i]=$line
    i=$(( $i + 1 ))
done < $f_sday

f_sday 包含文件名。当我从命令行调用脚本时,它总是工作正常并读取文件的完整内容。

但是当在 cronjob 中调用脚本时,它只读取两个或三个值

我从 c​​ron 知道它可能不是同一个环境,但我在这里看不到任何环境依赖性。 我首先尝试了 mapfile,但它只读取了 20 个值中的两个。

知道我在这里遗漏了什么吗?

愚蠢的我。

我没有控制工作路径(cron 在 $HOME 中启动),所以脚本在错误的文件上工作。 感谢 set -x 提示。这让我走上了正确的道路!