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

shell中echo不出来的有关问题

2012-02-25 
shell中echo不出来的问题_date$1_YYMMDD`echo $_date|awk {nbsubstr($1,3,6)}`(记不清了,大概是这么写。

shell中echo不出来的问题
_date=$1
_YYMMDD=`echo $_date|awk {nb=substr($1,3,6)}` (记不清了,大概是这么写。
echo $_YYMMDD 
上面这个echo 是可以出来如090801的字符
我模仿这样写
_date=$1
_YYMMDD=`echo $_date|awk {nb=substr($1,3,6)}` (记不清了,大概是这么写。
_dddd=`echo $_date|awk {nb=substr($2,3,6)}` (传入2个参数)
echo $_YYMMDD 
echo $_dddd

.........
get *$_dddd.txt
.......
结果*$_dddd.txt的文件正确获取,但是echo $_dddd是空行,不知道是为什么。
请帮忙解答,谢谢啦


[解决办法]
_dddd=`echo $_date|awk {nb=substr($2,3,6)}` (传入2个参数) 

那里有两个参数?传给substr的还是只有echo $_date的输出这一个column。
这样测试一下:
_dddd=`echo $_date $_date|awk {nb=substr($2,3,6)}`

[解决办法]
“shell有2个参数”有什么用?
前面都_date=$1 了,echo $_date出去的还是第一个。

[解决办法]
substr($2,3,6)这个$2不是传给shell script的第二个参数,只是传给awk脚本的参数,也就是通过pipe传过去的echo $_date的输出的第二栏。

按照你的想法,应该这样写:
_date=$1
_date2=$2
_YYMMDD=`echo $_date|awk {nb=substr($1,3,6)}`
_dddd=`echo $_date2|awk {nb=substr($1,3,6)}`
echo $_YYMMDD
echo $_dddd 
...

热点排行