1
在RES下面的腳本中總是返回任何東西;不知道我做錯了什麼。aix shell遇到函數返回值問題
在此先感謝。
#!/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'/#/斌/ sh'幾乎可以肯定是原來的Bourne Shell中,不支持'$(cmd_substitution)'。嘗試刪除空間,按照下面的方式使用'backtics'來代替。最好理解正在處理的內容,打開shell跟蹤功能set -vx來查看變量擴展。祝你好運。 – shellter
@shelter不......可能不是。/bin/sh經常是ksh。/bin/bsh(我記得)是Bourne Shell。我記得,有一個選項可以設置它。我相信一個選項甚至可以將其設置爲ksh93。 – pedz