首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

这个shell脚本在Linux上可以执行,为什么在Solaris中报错

2012-07-29 
这个shell脚本在Linux下可以执行,为什么在Solaris中报错!要求:1、读取当前目录下所有后缀为.dat的文件名,如

这个shell脚本在Linux下可以执行,为什么在Solaris中报错!
要求:
1、读取当前目录下所有后缀为.dat的文件名,如st_operation_ch.dat
2、将文件名去除.dat的后缀,变成st_operation_ch
3、删除从尾部开始的3个字符串,如删除了"_ch",变为st_operation.
4、有了st_operation的表名之后,利用此参数写文件
下面是脚本,在linux SUSE中执行良好,但在Solaris中提示错误,
for i in $(ls *.dat); do 
这个语句一开始就报错:'$' unexpected

哪位大侠知道该怎么修改,能保证在linux和solaris下都能运行。

Python code
#!/bin/shLANG="_ch"for i in $(ls *.dat); do  DATAFILENAME=${i/.dat/}          TABLENAME=${DATAFILENAME%%$LANG}     echo $TABLENAME    done


[解决办法]
solaris默认的shell都不是GNU的bash
你用的那好几个语法应该都是bash的!


[解决办法]
试试
Perl code
for i in *.datdoDATAFILENAME=`echo $i|awk -F. '{print $1}'`TABLENAME=`echo DATAFILENAME|sed 's/...$//'`done
[解决办法]
探讨

sed 's/...$//'
-------------------
这一句是什么意思?

热点排行