命令行参数:
在命令后添加参数
command 参数1 参数2 ...
参数输入时必须用空格隔开
注意:如果参数内有空格必须用单引号或双引号
位置参数变量(相当于函数传参)
脚本的编写:
参数说明:
- $0 为脚本名
- $1-9 为函数参数
- $* 把参数当成一个整体(整体)
- $@ 把参数全部输出(个体)
- $# 显示参数个数
- $$ 显示当前进程号
- $! 显示最后一个进程的进程号
- $? 最后执行的命令返回状态(0 成功 非0 失败)
运行文件时:在后面添加 命令行参数
注意事项:两种运行脚本方式$0的区别
可以使用 basename 解决这个问题
shift 移动变量
使用shift命令时,默认情况下它会将每个参数变量向左移动一个位置。且原先的值会被丢弃
,(相当于把后面的参数往前推)
注意:$0 不受影响
例子: 初始值:$1=10 $2=20 $3=30
getopt和getopts
详细解释点击该链接:shell命令getopt简介 - 深入学习ing - 博客园 (cnblogs.com)
用
getopt来格式化脚本所携带的任何命令行选项或参数,并自动将它们转换成适当的格式
格式为:getopt
optstring
parameters
optstring 定义了命令行有效的选项字母,还定义了哪些选项字母需要参数值
getopts 是getopt的升级版
getopts
命令能够和已有的shell
参数变量配合默契