向脚本传递参数

来源:互联网 发布:淘宝轮胎3c认证怎么办 编辑:程序博客网 时间:2024/04/28 23:38
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        显示方式或版本


参考书籍:shell脚本编程

QQ交流群: 204944806

0 0
原创粉丝点击