Chinaunix

标题: ${filename##*.} 的问题! [打印本页]

作者: steveneast    时间: 2007-12-31 22:18
标题: ${filename##*.} 的问题!
比如我直接输入

$ filename=foo.prt
$ echo ${filename##*.}
它如我所愿输出
$ prt

但是我写成
#/bin/sh
filename=foo.prt
echo ${filename##*.}

执行的时候就说我 bad substitution


我的环境是 ksh,不知道各位老大能不能给解决一下这个疑惑!
作者: 寂寞烈火    时间: 2007-12-31 22:57
原帖由 steveneast 于 2007-12-31 22:18 发表
比如我直接输入

$ filename=foo.prt
$ echo ${filename##*.}
它如我所愿输出
$ prt

但是我写成
#/bin/sh
filename=foo.prt
echo ${filename##*.}

执行的时候就说我 bad substitution

我的环境 ...

首行改成
#!/binbash

#!/bin/ksh
因为sh是比较古老的, 很多特性都不支持
作者: redicaps    时间: 2007-12-31 22:58
原帖由 steveneast 于 2007-12-31 22:18 发表
比如我直接输入

$ filename=foo.prt
$ echo ${filename##*.}
它如我所愿输出
$ prt

但是我写成
#/bin/sh
filename=foo.prt
echo ${filename##*.}

执行的时候就说我 bad substitution

我的环境 ...



what is  
#/bin/sh  ?
作者: steveneast    时间: 2008-01-01 01:03
#/bin/sh
是我打错了,应该是 #!/bin/sh

后来我自己发现了,/bin/sh 指向的是 /bin/rsh ,再man rsh一看,是什么restr.... shell.
好像是什么严格的shell,把程序改为 #!/bin/ksh ,运行马上正常!上天保佑,解决了一个小问题!
作者: guocb    时间: 2008-01-01 23:37
顶一个




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2