genesis使用心得
研究了一下,想搞清楚为什么部分windows系统直接run_script执行perl脚本的时候为什么执行失败。原先的代码中,
set _HEAD = `(sed -n 1p $PROG)`
if("$_HEAD" =~ *perl*)then
echo "Executing Perl Program $PROG $argv"
perl $PROG $argv
set PROG_STATUS=$status
else if("$_HEAD" =~ *python*)then
echo "Executing Python Program $PROG $argv"
python $PROG $argv
set PROG_STATUS=$status
else if("$_HEAD" =~ *wish*)then
setenv TCSHONLYSTARTEXES 1
echo "Executing TCL Program $PROG $argv"
$_genesis_root/sys/hooks/wish_start.tcl $PROG $argv
set PROG_STATUS=$status
else if("$PROG" =~ *.pl)then
echo "Executing Perl Program $PROG $argv"
perl $PROG $argv
set PROG_STATUS=$status
else
echo "Executing C Shell Program $PROG"
source $PROG
set PROG_STATUS=$status
endif
语句中使用了sed命令,获取脚本的第一行,如果其中包含perl字样,使用perl运行脚本。
但是,实际运行中,错误信息中提示了 sed 功能不识别。
运行结果中都是“运行的是CSHELL脚本,运行失败”
其实除了sed之外,我还尝试了awk grep等其他Cshell工具程序。都提示功能不识别(不知道是什么鬼,windows版本和Xmanager的问题?)。
但是,实际上,只是需要确认在一种条件,能够让Genesis使用perl来运行脚本。
后面,我直接尝试使用正则看脚本文件是否以‘.pl'结尾,(希望正则不要不行)
结果是,尝试成功。 谢谢分享genesis使用心得
页:
[1]