[英]bash child script exits along with parent script when parent invoked interactively / by terminal, but not when invoked non-interactively / by cron
[英]Getting error “cat: write error: Broken pipe” only when running bash script non-interactively
我写了一个bash脚本,在其中定义了这样一个变量:
var=$(cat $file_path | head -n $var2 | tail -n 1 | cut -f1)
其中$file_path
仅包含文件路径,而$var2
是整数,例如1或2。因此,为变量分配了文件行号var2的第一个字段的值。
当我从命令行运行此程序时,它工作得很好。 但是,运行包含此命令的脚本时,出现错误
cat:写入错误:管道损坏
知道为什么吗?
不需要使用cat
,因为head
使用文件名参数。
var=$(head -n $var2 $file_path | tail -n 1 | cut -f1)
实际上,不需要使用任何这些命令。
var=$(awk -v line=$var2 'NR == line { print $1; exit }' $file_path)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.