- 论坛徽章:
- 0
|
最近遇到一个奇怪的问题:发现在rhel4u4下同样的sh,在rhel5u4下执行得到不同的结果,难道是两者shell语言不兼容?如果是这样的话?会不会是rhel的bug?
sqkh.unl.tmp的文件内容如下:
Name Null? Type|
----------------------------------------- -------- ----------------------------|
JGH VARCHAR2(4)|
JGMC VARCHAR2(30)|
KHMC VARCHAR2(60)|
KHZH VARCHAR2(23)|
QSRQ VARCHAR2(8)|
ZZRQ VARCHAR2(8)|
KHBZ VARCHAR2(1)|
ctl.sh的文件内容:
#!/bin/ksh
{
omod=APPEND
table=sqkh
keyword=|
echo "LOAD DATA"
echo "$omod"
echo "INTO TABLE $table"
echo "FIELDS TERMINATED BY '$keyword'"
echo "("
sed -n '3,$p' sqkh.unl.tmp |
grep -v "^$" |
while read a b
do
if [ -n "$a" ]; then
echo "$a,"
fi
done |
sed $'s/,$//'
echo ")"
} > lwj.txt
在rhel4u4下得到lwj.txt 文件内容(这是想要的内容):
LOAD DATA
APPEND
INTO TABLE sqkh
FIELDS TERMINATED BY ''
(
JGH,
JGMC,
KHMC,
KHZH,
QSRQ,
ZZRQ,
KHBZ
)
而在rhel5u4下得到的lwj.txt 文件内容(错误的内容):
LOAD DATA
APPEND
INTO TABLE sqkh
FIELDS TERMINATED BY ''
(
JGH
JGMC
KHMC
KHZH
QSRQ
ZZRQ
KHBZ
)
在rhel下无论如何也得不到想要的结果,rhel6.0下是和rhel5u4下得到的是一样的结果!现请高手帮忙看一下,到底是什么原因?
|
|