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
...