shell getopts and getopt用法

 1 #!/bin/bash
 2 TEMP=`getopt -o hm: --long aai:,mai: -n ‘getopts.sh‘  -- "[email protected]"`
 3 eval set --  "$TEMP"
 4 while true
 5 do
 6 case "$1" in
 7     -h|--aai)
 8     echo $2
 9     shift 2;;
10     -m|--mai)
11     echo $2
12     shift 2;;
13     --)
14     shift
15     break;;
16     *)
17     exit 1;;
18 esac
19 #case "$2" in
20 #        -m|--mai)
21 #        echo ‘mai‘
22 #        exit;;
23 #esac
24
25 done
26 [[email protected] python_back]# cat getopts.sh
27     #!/bin/bash
28     echo "OPTIND starts at $OPTIND"
29     while getopts ":pq:" optname
30     do
31         case "$optname" in
32         "p")
33             echo "Option $optname is specified"
34             ;;
35         "q")
36             echo "Option $optname has value $OPTARG"
37             ;;
38         "?")
39             echo "Unknown option $OPTARG"
40             ;;
41         ":")
42             echo "No argument value for option $OPTARG"
43             ;;
44         *)
45             # Should not occur
46             echo "Unknown error while processing options"
47             ;;
48         esac
49         echo "OPTIND is now $OPTIND"
50     done 
时间: 2024-11-08 00:23:38

shell getopts and getopt用法的相关文章

SHELL STUDY....tr的用法

一般我们使用tr来做字符串的替换,或者删除指定的字符串 tr的语法如下: tr [OPTION]... SET1 [SET2] -c, -C, --complement first complement SET1 将非SET1中的字符替换为SET2 [[email protected] ~]$ echo "lubinsu" | tr -c "l" "A" lAAAAAAA -d, --delete delete characters in SET

shell变量的特殊用法

转载:http://blog.csdn.net/shmilyringpull/article/details/7631106 假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个 /  及其左边的字符串:my.file.txt${file#*.}:删掉第一个 .  及其左边的字符

shell中括号的特殊用法

shell中括号的特殊用法 Shell中的括号有其特殊的用法, 现总结如下:1. 符号$后的括号${a} 变量a的值, 在不引起歧义的情况下可以省略大括号.$(cmd) 命令替换, 结果为shell命令cmd的输出, 和`cmd`效果相同, 不过某些Shell版本不支持$()形式的命令替换, 如tcsh.$((exp)) 和`expr exp`效果相同, 计算数学表达式exp的数值, 其中exp只要符合C语言的运算规则即可, 甚至三目运算符和逻辑表达式都可以计算. a=1;b=2echo $[

shell expect的简单用法【转】

用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下:  ##############################################  #!/usr/bin/expect  set timeout 30  spawn ssh -l username 192.168.1.1  expect "password:"  send "ispa

  shell中的select用法

select也是循环的一种,它比较适合用在用户选择的情况下.比如,我们有一个这样的需求,运行脚本后,让用户去选择数字,选择1,会运行w命令,选择2运行top命令,选择3运行free命令,选择4退出.脚本这样实现: #!/bin/bash echo "Please chose a number, 1: run w, 2: run top, 3: run free, 4: quit" echo select command in w top free quit do case $comma

(转)Shell中read的用法详解

Shell中read的用法详解 原文:http://blog.csdn.net/jerry_1126/article/details/77406500 read的常用用法如下: read -[pstnd] var1 var2 ... -p 提示语句-n 字符个数-s 屏蔽回显-t 等待时间-d 输入分界 [plain] view plain copy 01). read                           # 从标准输入读取一行并赋值给特定变量REPLY [email prote

shell getopts 用法

http://www.cnblogs.com/xupeizhi/archive/2013/02/18/2915659.html http://blog.csdn.net/xluren/article/details/17489667 http://my.oschina.net/HankCN/blog/116120

shell 中seq的用法 echo -n用法

用法:seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数 从1循环到100的两种方法(bash 其它的shell没试过)for x in `seq 1 100`;do echo $x;donefor x in {1..100};do echo $x;done echo -n 不换行输出 $echo -n "123" $echo "456" 最终输出 123456 echo -e 处理特殊字符 若字符串中

shell编程中date用法(转)

原文地址:http://blog.sina.com.cn/s/blog_61c006ea0100mgxe.html 1.date --help %% 输出%符号 a literal % %a 当前域的星期缩写 locale’s abbreviated weekday name (Sun..Sat) %A 当前域的星期全写 locale’s full weekday name, variable length (Sunday..Saturday) %b 当前域的月份缩写 locale’s abbr