哪位牛人帮忙看看为啥bash改了csh以后还是无法运行(已解决)

sh/bash/dash/ksh/zsh等Shell脚本
回复
wslgyd
帖子: 39
注册时间: 2011-03-28 19:14

哪位牛人帮忙看看为啥bash改了csh以后还是无法运行(已解决)

#1

帖子 wslgyd » 2012-01-19 20:17

最近下载了个文件,就是个画图的shell脚本,是csh的,我原来的是bash,因为需要安装GMT,所以先安装了,路径也设置好,然后把代码中涉及到set定义的部分都去掉,没有用变量,然后可以运行,但是因为不是只有这一个需要修改,而且那些比这个要复杂的多,所以我决定改用csh,安装csh后,首先设置了GMT的的路径,然后运行shell,结果是command not found,原来的和修改后的代码如下,请教各位大牛到底是怎么回事?谢谢拉

代码: 全选

#!/bin/csh

## Plot monthly discharge, using the Stehekin basin as an example

gmtset ANOT_FONT_SIZE 14 LABEL_FONT_SIZE 14 HEADER_FONT_SIZE 16
set outfile = flow.STEHE.ps
set projPage = -Jx1
set coordPage = -R0/8.5/0/11
set projData = -JX5T/1.5
set coordData = -R1950-01-01T00:00:00/1951-12-31T00:00:00/0/7000
set pen_obs = "-W5,black"
set pen_sim = "-W5,blue,--"
set projText = -JX5/1.5
set coordText = -R0/1/0/1

gmtset D_FORMAT "%lg"
gmtset INPUT_DATE_FORMAT "yyyy-mm"
gmtset OUTPUT_DATE_FORMAT "yyyy-mm"
gmtset PLOT_DATE_FORMAT "yyyy-mm"
gmtset TIME_IS_INTERVAL +1o

set obsfile = ../obs/flow.STEHE.month.cfs
set simfile = ../results/rout/STEHE.month

## Set up page
pstext -P -K -V -N $projPage $coordPage -Y11 -X1 <<END> $outfile
END

## plot data ---------------------------------------
perl -e 'while (<>) {chomp; s/^\s+//; @fields = split /\s+/; printf "%04d-%02d %.4f\n", $fields[0],$fields[1],$fields[2];}' $obsfile |\
  psxy -O -K -V $projData $coordData -Y-2 -X0 $pen_obs --FRAME_PEN=1.5p --TICK_PEN=1p --TICK_LENGTH=-0.2c -Ba1yf1o:"Time":/1000:"Flow (cms)"::.:SWne >> $outfile
perl -e 'while (<>) {chomp; s/^\s+//; @fields = split /\s+/; printf "%04d-%02d %.4f\n", $fields[0],$fields[1],$fields[2];}' $simfile |\
  psxy -O -K -V $projData $coordData $pen_sim >> $outfile
pstext -O -K -V -N $projText $coordText <<END>> $outfile
0.15 0.8 10 0 0 5 Observed
END
pstext -O -K -V -N $projText $coordText <<END>> $outfile
0.15 0.7 10 0 0 5 Simulated
END
psxy -O -K -V $projText $coordText $pen_obs <<END>> $outfile
0.025 0.8
0.125 0.8
END
psxy -O -K -V $projText $coordText $pen_sim <<END>> $outfile
0.025 0.7
0.125 0.7
END

## Finish the plot
pstext -O -V -N $projText $coordText <<END>> $outfile
END
修改后

代码: 全选

#!/bin/bash

## Plot monthly discharge, using the Stehekin basin as an example

gmtset ANOT_FONT_SIZE 14 LABEL_FONT_SIZE 14 HEADER_FONT_SIZE 16
#set outfile = flow.STEHE.ps
#projPage = -Jx1
#coordPage = -R0/8.5/0/11
#projData = -JX5T/1.5
#coordData = -R1950-01-01T00:00:00/1951-12-31T00:00:00/0/7000
#pen_obs = "-W5,black"
#pen_sim = "-W5,blue,--"
#projText = -JX5/1.5
#coordText = -R0/1/0/1

gmtset D_FORMAT "%lg"
gmtset INPUT_DATE_FORMAT "yyyy-mm"
gmtset OUTPUT_DATE_FORMAT "yyyy-mm"
gmtset PLOT_DATE_FORMAT "yyyy-mm"
gmtset TIME_IS_INTERVAL +1o

#$obsfile = "/home/dan/stehekin/obs/flow.STEHE.month.cfs"
#$simfile = "home/dan/stehekin/results/rout/STEHE.month"

## Set up page
pstext -P -K -V -N -Jx1 -R0/8.5/0/11 -Y11 -X1 <<END>> flow.STEHE1.ps
END

## plot data ---------------------------------------
perl -e 'while (<>) {chomp; s/^\s+//; @fields = split /\s+/; printf "%04d-%02d %.4f\n", $fields[0],$fields[1],$fields[2];}' /home/dan/stehekin/obs/flow.STEHE.month.cfs |\
  psxy  -O -K -V -JX5T/1.5 -R1950-01-01T00:00:00/1951-12-31T00:00:00/0/7000 -Y-2 -X0 "-W5,black" --FRAME_PEN=1.5p --TICK_PEN=1p --TICK_LENGTH=-0.2c -Ba1yf1o:"Time":/1000:"Flow (cms)"::.:SWne >> flow.STEHE1.ps
perl -e 'while (<>) {chomp; s/^\s+//; @fields = split /\s+/; printf "%04d-%02d %.4f\n", $fields[0],$fields[1],$fields[2];}' /home/dan/stehekin/results/rout/STEHE.month |\
  psxy  -O -K -V -JX5T/1.5 -R1950-01-01T00:00:00/1951-12-31T00:00:00/0/7000 -Y-2 -X0 "-W5,blue,--" --FRAME_PEN=1.5p --TICK_PEN=1p --TICK_LENGTH=-0.2c -Ba1yf1o:"Time":/1000:"Flow (cms)"::.:SWne >> flow.STEHE1.ps
pstext -O -K -V -N -JX5/1.5 -R0/1/0/1 <<END>> flow.STEHE1.ps
0.15 0.8 10 0 0 5 Observed
END
pstext -O -K -V -N -JX5/1.5 -R0/1/0/1 <<END>> flow.STEHE1.ps
0.15 0.7 10 0 0 5 Simulated
END
psxy -O -K -V -JX5/1.5 -R0/1/0/1 "-W5,black" <<END>> flow.STEHE1.ps
0.025 0.8
0.125 0.8
END
psxy -O -K -V -JX5/1.5 -R0/1/0/1 "-W5,blue,--" <<END>> flow.STEHE1.ps
0.025 0.7
0.125 0.7
END

## Finish the plot
pstext -O -V -N -JX5/1.5 -R0/1/0/1 <<END>> flow.STEHE1.ps
END
wslgyd
帖子: 39
注册时间: 2011-03-28 19:14

Re: 哪位牛人帮忙看看为啥bash改了csh以后还是无法运行(已解决)

#2

帖子 wslgyd » 2012-01-19 21:09

搞定了,居然是最弱智的错误,忘记chmod u+x plot_flow_STEHE.scr
回复