bash中gawk的@include关键字失效,报'invalid char '@''错误求助
错误原因分析
- 核心问题:调用了不支持
@include的普通awk而非GNU gawk@include是GNU gawk专属的扩展语法,不属于POSIX标准awk的规范。大多数Linux发行版默认的awk是mawk或者BSD awk这类标准实现,它们完全不认识@include指令,自然会把@判定为非法字符抛出错误。 - 直接诱因:执行命令用错了工具
你执行脚本时用的是awk -f test2,但GNU官方手册要求的是gawk -f test2——这两个是不同的工具:- 输入
awk --version可以查看当前默认awk的类型(比如显示mawk或BSD awk) - 输入
gawk --version能确认GNU awk是否已安装
- 输入
- 解决办法
改用gawk -f test2执行脚本即可,GNU gawk会正确解析@include语句。
内容的提问来源于stack exchange,提问作者Drzemlik
相关产品推荐
相关产品推荐

