今天是儿童节,我像小盆友一样发现了php和html混合的时候如何进行参数传递:
<?php $idate=date('Ymd');include("./check_job_detail.php");?>
这样,php里就认识了$idate
另:php里字符串作时间加法,一个好办法是通过时间来中转,如
$idate=20090601;
$idate_end=date("Ymd",strtotime($idate)+24*3600);
那么idate_end就等于了20090602
下午写了个java执行程序的脚本,因为要引用外部包,比如执行jar包A,A的代码中又引用了B.jar
这样的话,就要在-cp参数中同时包含A,B
即java -cp A:B xxx
当B很多时,最好搞个脚本来执行,脚本大概就这么写:
#! /bin/bash
CWD=`dirname $0`
cd $CWD
cd ..
cur_path=`pwd`
JARPATH=$cur_path"/A.jar"
LIBDIR=$cur_path"/lib/"
find $LIBDIR -name "*.jar" > "tmp"
new=$JARPATH`cat "tmp"|while read LINE
do
echo ":"$LINE
done`
rm "tmp"
cppath=`echo $new|tr -d ' '`
COMMAND=$1
if [ -z $COMMAND ];then
echo "Usage: scheduler_start [COMMAND]"
echo "where COMMAND is one of:"
echo " -job run the job"
echo " -plan run the plan"
echo " -monitor run the monitor"
echo "and please check the path to make sure start and the other lib in the right path!"
exit 1
fi
if [ $COMMAND == "-job" ];then
java -cp $cppath mypath.job
elif [ $COMMAND == "-plan" ];then
java -cp $cppath mypath.plan
elif [ $COMMAND == "-monitor" ];then
java -cp $cppath mypath.monitor $2
elif [ $COMMAND == "-help" ];then
echo "scheduler_start -job/-plan/-monitor"
else
echo "Usage: start [COMMAND]"
echo "where COMMAND is one of:"
echo " -job run the job"
echo " -plan run the plan"
echo " -monitor run the monitor"
echo "and please check the path to make sure start and the other lib in the right path!"
exit 1
fi
注意两点:
1 为了能在任何目录下运行,因此程序开头要用dirname来获取脚本所在的路径。注意这里用pwd是不行的,估计原因是pwd是获取当前目录
2 如果有多个包,把它们从文本里复制到一个变量后,中间会有很多空格,一定要去掉这些空格,否则会影响后面的参数列表
晚上在搞log4j,明天早上争取测试成功
顺便打个广告:看了会unix编程艺术这本书,相当的赞,确实把设计提高到了哲学的高度来进行抽象,很多道理一抽象出来就很真实了,比如:
永远不要去吃力解读一段晦涩的代码三次。第一次也许侥幸成功,但如果发现必须重新解读一遍--离第一次太久了具体细节无从回想--那么你该注释代码了,这样第三次相对不会那么痛苦了。
原则:你无法断定程序会在什么地方耗费运行时间。瓶颈经常会出现在想不到的地方,所以别急于胡乱找个地方改代码,除非你己证实那儿就是瓶颈。
让每个程序就做好一件事。如果有新任务,就重新开始,不要往原程序中加入新功能而搞得复杂。
...慢慢继续看
<?php $idate=date('Ymd');include("./check_job_detail.php");?>
这样,php里就认识了$idate
另:php里字符串作时间加法,一个好办法是通过时间来中转,如
$idate=20090601;
$idate_end=date("Ymd",strtotime($idate)+24*3600);
那么idate_end就等于了20090602
下午写了个java执行程序的脚本,因为要引用外部包,比如执行jar包A,A的代码中又引用了B.jar
这样的话,就要在-cp参数中同时包含A,B
即java -cp A:B xxx
当B很多时,最好搞个脚本来执行,脚本大概就这么写:
#! /bin/bash
CWD=`dirname $0`
cd $CWD
cd ..
cur_path=`pwd`
JARPATH=$cur_path"/A.jar"
LIBDIR=$cur_path"/lib/"
find $LIBDIR -name "*.jar" > "tmp"
new=$JARPATH`cat "tmp"|while read LINE
do
echo ":"$LINE
done`
rm "tmp"
cppath=`echo $new|tr -d ' '`
COMMAND=$1
if [ -z $COMMAND ];then
echo "Usage: scheduler_start [COMMAND]"
echo "where COMMAND is one of:"
echo " -job run the job"
echo " -plan run the plan"
echo " -monitor run the monitor"
echo "and please check the path to make sure start and the other lib in the right path!"
exit 1
fi
if [ $COMMAND == "-job" ];then
java -cp $cppath mypath.job
elif [ $COMMAND == "-plan" ];then
java -cp $cppath mypath.plan
elif [ $COMMAND == "-monitor" ];then
java -cp $cppath mypath.monitor $2
elif [ $COMMAND == "-help" ];then
echo "scheduler_start -job/-plan/-monitor"
else
echo "Usage: start [COMMAND]"
echo "where COMMAND is one of:"
echo " -job run the job"
echo " -plan run the plan"
echo " -monitor run the monitor"
echo "and please check the path to make sure start and the other lib in the right path!"
exit 1
fi
注意两点:
1 为了能在任何目录下运行,因此程序开头要用dirname来获取脚本所在的路径。注意这里用pwd是不行的,估计原因是pwd是获取当前目录
2 如果有多个包,把它们从文本里复制到一个变量后,中间会有很多空格,一定要去掉这些空格,否则会影响后面的参数列表
晚上在搞log4j,明天早上争取测试成功
顺便打个广告:看了会unix编程艺术这本书,相当的赞,确实把设计提高到了哲学的高度来进行抽象,很多道理一抽象出来就很真实了,比如:
永远不要去吃力解读一段晦涩的代码三次。第一次也许侥幸成功,但如果发现必须重新解读一遍--离第一次太久了具体细节无从回想--那么你该注释代码了,这样第三次相对不会那么痛苦了。
原则:你无法断定程序会在什么地方耗费运行时间。瓶颈经常会出现在想不到的地方,所以别急于胡乱找个地方改代码,除非你己证实那儿就是瓶颈。
让每个程序就做好一件事。如果有新任务,就重新开始,不要往原程序中加入新功能而搞得复杂。
...慢慢继续看