Shell脚本接收有空格参数问题
来源:互联网 发布:淘宝卖家在哪里看等级 编辑:程序博客网 时间:2024/06/07 01:54
上一篇博客写如何将Shell中的带空格参数传个python文件,这里写Shell如何接收外部传入的带空格参数。
例子是在网上看到的,亲测好用!!!
需要传入七个参数,最后一个是一个带有空格字符串,所以传入的时候有点问题,会自动识别空格,默认会将空格前的当作第7个参数,以下是传入的参数:
MD duanwf 23742 CDR_CALL_YYYYMMDD /home/duanwf/asiainfo/export/T141015001_20141014.avl & fetch first 100000 rows only
最后的“fetch first 100000 rows only”为第七个参数,但是识别的时候只获取到fetch
解决办法:
可以通过
#!/bin/bashDBSCHEMA=$1DBUSER=$2DBPASSWORD=$3TABLENAME=$4FILEPATH=$5DELIMITER=$6EXPORTLIMIT=`echo ${@:7}`
补充:
在Shell中,调用函数时可以向其传递参数。在函数体内部,通过
带参数的函数示例:
#!/bin/bashfunWithParam(){ echo "The value of the first parameter is $1 !" echo "The value of the second parameter is $2 !" echo "The value of the tenth parameter is $10 !" echo "The value of the tenth parameter is ${10} !" echo "The value of the eleventh parameter is ${11} !" echo "The amount of the parameters is $# !" echo "The string of the parameters is $* !"}funWithParam 1 2 3 4 5 6 7 8 9 34 73
输出结果:
The value of the first parameter is 1 !The value of the second parameter is 2 !The value of the tenth parameter is 10 !The value of the tenth parameter is 34 !The value of the eleventh parameter is 73 !The amount of the parameters is 12 !The string of the parameters is 1 2 3 4 5 6 7 8 9 34 73 !"
注意,$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数。
另外,还有几个特殊字符用来处理参数:
$# 传递到脚本的参数个数$* 以一个单字符串显示所有向脚本传递的参数$$ 脚本运行的当前进程ID号$! 后台运行的最后一个进程的ID号$@ 与$#相同,但是使用时加引号,并在引号中返回每个参数。$- 显示Shell使用的当前选项,与set命令功能相同。$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
1 0
- Shell脚本接收有空格参数问题
- Shell脚本接收有空格参数问题
- shell脚本参数可以包括空格嘛
- 初学shell脚本编程注意空格问题
- shell脚本的参数问题
- Java调用shell脚本传带空格参数
- shell脚本接收来自命令行传入的参数:
- shell脚本接收参数并判断是否为空
- Shell脚本接收来自命令行传入的参数
- 简单的通过shell脚本接收参数进行数据库操作
- shell脚本中的空格
- 关于一些url中传递参数有空格问题
- Shell脚本中参数传递方法常用有8种
- shell脚本中赋值给变量中有空格, 导致命令执行失败
- 向shell或者sql脚本传参或接收参数的方法
- adb 命令行参数有空格
- shell从管道读取命令行并解析,双引号中有空格计算为一个参数
- shell 脚本 if 参数
- 文章标题
- 随处可见的用户体验
- 【数据结构 队列 + 二叉树】
- Quartz作业调度(2)
- Android activity 概要
- Shell脚本接收有空格参数问题
- c# 线程中如何控制控件焦点
- Google glog
- Javascript操作DOM常用API总结
- svn
- 用MqttAndroidClient实现IM
- mysql5.7配置文件优化
- 数学工具笔记之一:一张图告诉你什么是时域和频域
- informix 分片表