繁体   English   中英

仅当非交互式运行bash脚本时,出现错误“猫:写入错误:管道损坏”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM