我试图扫描错误日志中有503个错误的行,所以我正在寻找" 503
(引用空间503)。带引号的grep
这看似简单,但它不会工作:
grep '" 503 ' access.log
我得到以下错误:
bash: -c: line 0: unexpected EOF while looking for matching `"' bash: -c: line 1: syntax error: unexpected end of file
我试图扫描错误日志中有503个错误的行,所以我正在寻找" 503
(引用空间503)。带引号的grep
这看似简单,但它不会工作:
grep '" 503 ' access.log
我得到以下错误:
bash: -c: line 0: unexpected EOF while looking for matching `"' bash: -c: line 1: syntax error: unexpected end of file
该问题是由于.bashrc
中的一些错误指令造成的。
好像你是通过一些系统中运行它()在一些语言,你不是吗?尝试:
grep '\" 503 ' access.log
或:
grep "\" 503 " access.log
直接在外壳只是grep '" 503 ' access.log
会工作。要重现您的问题,我必须做:
bash -c 'grep '\" 503 ' access.log'
这确实是语法错误。为了做到这一点,我需要:
bash -c 'grep "\" 503 " access.log'
你是不知何故叫bash -c ...
。也许间接。你需要指出你是如何调用它来找出碰撞中的引号。
否,直接在炮弹中。我已经尝试过你提示没有运气的两个例子。 – dtbarne
这很奇怪。你能发布“type grep”和“echo $ 0”的输出吗? –
要调试这样的奇怪效果,请使用“set -x”显示shell扩展以及计算机对您的命令的看法。
我相信我现在正在工作(不确定,因为我没有结果,但没有得到一个错误)。
的原因是因为我使其通过SSH如下命令,我相信SSH是做一些挂羊头卖狗肉逃生:
ssh 123.123.123.123 grep '" 503 ' access.log
它Modifiying这似乎是修复:
ssh 123.123.123.123 "grep '\" 503 ' access.log"
感谢大家的时间。
这应该工作。你确定你没有别名grep或类似的东西? “哪个grep”? “type grep”? – pyroscope
错误消息显示“bash -c”,那么你是否在尝试在单引号内嵌入单引号? –
嗯,按照你的意愿在bash中为我工作 –