1.已经讲到如何使用特定变量$1..$9向脚本传递参数。$#用于统计传递参数的个数。可以创建一个 usage语句,需要时可通知用户怎样以适当的调用参数调用脚本或函数。
2.opt的一个简单例子
#!/bin/bash
function usage()
{
echo "please enter correct args"
}
opt=$1
if [ $# -ne 1 ]
then
usage
exit 1
fi
case $opt in
start|Start)
echo "start te programming now......."
;;
stop|Stop)
echo "stop the programming now......."
;;
*)
usage
;;
esac
3.shift命令
向脚本传递参数时,有时需要将每一个参数偏移以处理选项,这就是shift命令的功能。它每次将参数位置向左偏移一位,下面用一段简单脚本详述其功能。脚本使用while循环反馈所有传递到脚本的参数。
#!/bin/bash
loop=0
while [ $# -ne 0 ]
do
echo $1
shift #左移一位
done
4.getopts可以编写脚本,使控制多个命令行参数更加容易。getopts用于形成命令行处理标准形式。原则上讲,脚本应具有确认带有多个选项的命令文件标准格式的能力。
通过例子可以更好地理解 getopts。以下getopts脚本接受下列选项或参数。
• a 表示ALL选项
• h 表示HELP选项
• e 表示EXIT选项
#!/bin/bash
while getopts ahe opt
do
case $opt in
a)
echo "the all option is select"
;;
h)
echo "the help option is select"
;;
e)
echo "the exit option is select"
;;
esac
done
命名以及含义:
-a 扩展
-c 计数、拷贝
-d 目录、设备
-e 执行
-f 文件名、强制
-h 帮助
-i 忽略状态
-l 注册文件
-o 完整输出
-q 退出
-p 路径
-v 显示方式或版本
2.opt的一个简单例子
#!/bin/bash
function usage()
{
echo "please enter correct args"
}
opt=$1
if [ $# -ne 1 ]
then
usage
exit 1
fi
case $opt in
start|Start)
echo "start te programming now......."
;;
stop|Stop)
echo "stop the programming now......."
;;
*)
usage
;;
esac
3.shift命令
向脚本传递参数时,有时需要将每一个参数偏移以处理选项,这就是shift命令的功能。它每次将参数位置向左偏移一位,下面用一段简单脚本详述其功能。脚本使用while循环反馈所有传递到脚本的参数。
#!/bin/bash
loop=0
while [ $# -ne 0 ]
do
echo $1
shift #左移一位
done
4.getopts可以编写脚本,使控制多个命令行参数更加容易。getopts用于形成命令行处理标准形式。原则上讲,脚本应具有确认带有多个选项的命令文件标准格式的能力。
通过例子可以更好地理解 getopts。以下getopts脚本接受下列选项或参数。
• a 表示ALL选项
• h 表示HELP选项
• e 表示EXIT选项
#!/bin/bash
while getopts ahe opt
do
case $opt in
a)
echo "the all option is select"
;;
h)
echo "the help option is select"
;;
e)
echo "the exit option is select"
;;
esac
done
命名以及含义:
-a 扩展
-c 计数、拷贝
-d 目录、设备
-e 执行
-f 文件名、强制
-h 帮助
-i 忽略状态
-l 注册文件
-o 完整输出
-q 退出
-p 路径
-v 显示方式或版本
参考书籍:shell脚本编程
QQ交流群: 204944806