arrays - Bash:从文件交互/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,但它只读取了二十个值中的两个。
知道我在这里缺少什么吗?
解决方案
愚蠢的我。
我没有控制工作路径(cron 从 $HOME 开始),所以脚本正在处理错误的文件。感谢您的 set -x 提示。这使我走上了正确的道路!
推荐阅读
- python - 我如何使用二进制列表在 PyGame 中绘制正方形?
- android - Android/Kotlin - 如何循环所有 ToggleButtons 以创建 if/else 条件
- javascript - 如何在请求结果中使用变量来遍历数据?
- html - 使用引导程序 btn-group-toggle 在烧瓶中检索复选框按钮值的问题
- python - 有没有办法将多个字符串添加到 Text 对象?(泽尔图形)
- terraform - Terraform 资源使用模块生成多个 key_pair
- docker - DreamFactory 如何在 docker 容器中禁用包装器“资源”
- spring - spring boot打包后找不到资源文件
- php - How can I scroll while I increase the size of a div with Resizable Jquery?
- scripting - 在 After Effects 中通过脚本添加效果