日期:2014-05-16  浏览次数:20642 次

shell中重定向的一个问题
今天没事写了个shell脚本,但是让这个脚本定时执行时,重定向有点问题。脚本大概如下
SQL code

DATE=`date -d yesterday +%Y%m%d`
echo "the num:"
sqlplus -S hello/hello@ora10g51 << EOF >>log_${DATE}.log
        select count(*) from ${DATE}_00;
        exit
EOF


这个脚本手动执行时都将输出重定向到log_${DATE}.log这个文件中,但定时执行时就不行。
请问这个什么原因呢?

------解决方案--------------------
定时执行怎么就不行了呢? 在脚本最前面加一个cd dir, 然后到那个目录下去看有没有log_20100408.log的文件产生.
------解决方案--------------------
第一,cron里面最好用全路径,不然很难说东西写到哪去了
第二,需要在脚本里面设置oracle的环境变量,否则sqlplus不会执行的
第三,建议标准错误也输出到文件里面
------解决方案--------------------
mark
学习了

------解决方案--------------------
探讨
第一,cron里面最好用全路径,不然很难说东西写到哪去了
第二,需要在脚本里面设置oracle的环境变量,否则sqlplus不会执行的
第三,建议标准错误也输出到文件里面

------解决方案--------------------
你是用crontab 定时吗?www.zhoin.com