You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本调用awk传递参数时出现Segmentation fault如何解决

问题解决方法

错误原因

  • 变量传参未加引号:你传入的时间戳包含空格,Bash中直接写$fromtime会被拆分为多个独立参数,导致awk参数解析混乱,触发段错误
  • awk内部变量引用错误:awk的单引号代码块中,双引号包裹的内容会被识别为普通字符串,不会解析你传入的fromtimestamp变量,且awk引用自定义传参的变量不需要加$前缀
  • 语法冗余错误:awk代码块末尾多了多余的右大括号,存在语法问题

修正后的脚本

#!/bin/bash

fromtime="$1"
totime="$2"
nameoffile="websniffer.log"
awk -v fromtimestamp="$fromtime" -v totimestamp="$totime" '$0 >= fromtimestamp && $0 <= totimestamp' "$nameoffile"

验证说明

使用你原有的执行命令即可正常运行:

./samplescript.sh "07-Nov-2021 13:40:02.124" "07-Nov-2021 13:43:08.124"

内容的提问来源于stack exchange,提问作者Jef Smackner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 02:36:03