【发布时间】:2014-01-08 17:01:38
【问题描述】:
在 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
【问题讨论】:
-
aix
/#!/bin/sh几乎可以肯定是原始的 Bourne Shell,它不支持$(cmd_substitution)。尝试删除空格,如下所示并改用backtics。最好了解正在处理的内容,打开 shell 跟踪功能set -vx以查看发生的变量扩展。祝你好运。 -
@shelter 不...可能不会。 /bin/sh 通常是 ksh。 /bin/bsh (我记得)是 Bourne Shell。我记得,有一个选项可以设置它。我相信一个选项甚至将其设置为 ksh93。