您好我正在尝试将我的egrep结果保存到变量中并执行foreach。 但是,尽管有以下类型的代码,我仍然会收到以下错误
#!/bin/sh
RESULT1=$(egrep 'Begin|End' $SYNCLOG)
RESULT2=egrep 'Begin|End' $SYNCLOG
RESULT3="egrep 'Begin|End' $SYNCLOG"
Errror
./test.sh: syntax error at line 24: `RESULT=$' unexpected
我试图将我的egrep结果保存到变量中。 egrep将返回以下结果
File 2:Begin - Date :Fri Jan 10 22:44:47 SGT 2014
File 2:End - Date :Fri Jan 10 22:47:06 SGT 2014
File 3:Begin - Date : Tue Jan 11 22:32:54 SGT 2014
File 3:End - Date : Tue Jan 11 22:34:43 SGT 2014
File 4:Begin - Date : Wed Jan 12 22:46:15 SGT 2014
File 4:End - Date : Wed Jan 12 22:48:23 SGT 2014
File 5:Begin - Date : Thu Jan 13 22:30:31 SGT 2014
File 5:End - Date : Thu Jan 13 22:32:51 SGT 2014
答案 0 :(得分:1)
问题是sh
#!/bin/sh
使用$(...)
,这是一种BASH语法。
要修复,你可以使用这个shebang代替使用bash:
#!/bin/bash
或者在/bin/sh
中使用此命令替换语法:
RESULT1=`egrep 'Begin|End' $SYNCLOG`
答案 1 :(得分:0)
似乎你在第24行的某个地方有反引号。粘贴你的整个脚本。以上shell脚本摘录即
RESULT1=$(egrep 'Begin|End' $SYNCLOG)
应该工作。