在下面的脚本中,RES总是返回任何内容;不知道我做错了什么。
提前致谢。
#!/bin/sh
set -x
chk_for() {
RES=0
RES= $(head -1 $1 | fgrep -c "Formula" >&2)
echo "@@@@" || $RES
return $RES
}
for X in /home/wstandke/webcatstats/rep/AnalysisWork/*; do
chk_for "$X"
if [$? == 1]
then
echo "1st line is heading"
file=$(basename $X)
echo "fullname=" || $X
echo "filename=" || $file
mv $X /tmp/$file
sed 1d /tmp/$file > $X
rm /tmp/$file
fi
done
cat /home/wstandke/webcatstats/rep/AnalysisWork/* >/tmp/Analysis.report
答案 0 :(得分:2)
您将fgrep
的输出重定向到stderr
,因此不会为RES
分配任何值。
另外,不确定这是否是 问题,但RES=
之后可能会将空白分配给RES
。
尝试将相关行更改为:
RES=$(head -1 $1 | fgrep -c "Formula")