Shell编程路径问题
操作系统为UNIX系统,数据库为Sybase,现有如下一段代码:
out.sh在/home/user/objbin路径下
代码一
#./bin/sh
IQUSER="-xxx -Uxxx -Pxxx"
SRC="/home/user/objbin/name"
#导出文件
while read TAB ${SRC}
do
#判断是否是以#开头的注释,如果是,跳过该行。
x=`basename ${TAB} | cut -c 1`
if [ "${x}" = "#" ]
then
continue
fi
DATE=`date +%Y-%m-%d" "%T`
echo ${DATE} bcp out ${TAB} >>${SYSLOG}
bcp sybase..${TAB} out /home/user/data/${TAB} ${IQUSER} -c -t'|!' -r'\n' -b1000
done <$SRC
echo `date` "Done is ok !"
当在路径/home/user/objbin下执行out.sh时,报错
但当out.sh中的把路径SRC改为SRC="name"时,也就是如下代码:
代码二
#./bin/sh
IQUSER="-xxx -Uxxx -Pxxx"
SRC="name"
#导出文件
while read TAB ${SRC}
do
#判断是否是以#开头的注释,如果是,跳过该行。
x=`basename ${TAB} | cut -c 1`
if [ "${x}" = "#" ]
then
continue
fi
DATE=`date +%Y-%m-%d" "%T`
echo ${DATE} bcp out ${TAB} >>${SYSLOG}
bcp sybase..${TAB} out /home/user/data/${TAB} ${IQUSER} -c -t'|!' -r'\n' -b1000
done <$SRC
echo `date` "Done is ok !"
这时在路径/home/user/objbin下执行out.sh时
就没有问题
一直搞不清楚为什么?请各位帮忙,如何能让第一段代码顺利执行
谢谢!