Shell脚本传递带有空格的参数[摘录自网络]
| 参数处理 | 说明 |
|---|---|
| $# | 传递到脚本的参数个数 |
| $* | 以一个单字符串显示所有向脚本传递的参数 |
| $$ | 脚本运行的当前进程ID号 |
| $! | 后台运行的最后一个进程的ID号 |
| $@ | 与$#相同,但是使用时加引号,并在引号中返回每个参数。 |
| $- | 显示Shell使用的当前选项,与set命令功能相同。 |
| $? | 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 |
MD duanwf 23742 CDR_CALL_YYYYMMDD /home/duanwf/asiainfo/export/T141015001_20141014.avl & fetch first 100000 rows only
最后的“fetch first 100000 rows only”为第七个参数,但是识别的时候只获取到fetch,
那要怎么处理呢?
之前问了有人说可以用双引号把他引起来,最后结果还是一样,无法拿到,只能获取到
"fetch
还是会自动在空格前自动断开。
可以通过$@命令来处理,即将$7换成echo ${@:7},这样将自动识别到的第7个开始,全部获取到作为最后第7个参数,参数获取改为:
A dwarf on a giant's shoulder sees the farther of the two.
站在巨人肩上的矮子看得比巨人远。
--A dwarf on a giant's shoulders

浙公网安备 33010602011771号