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 中调用脚本时,它只读取两个或三个值
我从 cron 知道它可能不是同一个环境,但我在这里看不到任何环境依赖性。
我首先尝试了 mapfile,但它只读取了 20 个值中的两个。
知道我在这里遗漏了什么吗?
愚蠢的我。
我没有控制工作路径(cron 在 $HOME 中启动),所以脚本在错误的文件上工作。
感谢 set -x 提示。这让我走上了正确的道路!
我有一个脚本可以在处理过程中将大约 20 个数字逐行写入文件。
当脚本再次启动时,它会使用此代码从该文件中读取
declare -a sedum
i=0
while read -r line
do
sedum[$i]=$line
i=$(( $i + 1 ))
done < $f_sday
f_sday 包含文件名。当我从命令行调用脚本时,它总是工作正常并读取文件的完整内容。
但是当在 cronjob 中调用脚本时,它只读取两个或三个值
我从 cron 知道它可能不是同一个环境,但我在这里看不到任何环境依赖性。 我首先尝试了 mapfile,但它只读取了 20 个值中的两个。
知道我在这里遗漏了什么吗?
愚蠢的我。
我没有控制工作路径(cron 在 $HOME 中启动),所以脚本在错误的文件上工作。 感谢 set -x 提示。这让我走上了正确的道路!