前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell处理用户输入总结

shell处理用户输入总结

作者头像
shaonbean
发布2019-05-26 09:23:05
4990
发布2019-05-26 09:23:05
举报
文章被收录于专栏:运维前线

版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://cloud.tencent.com/developer/article/1434633

处理简单选项

代码语言:javascript
复制
#/bin/bash
# extracting command line options as parameters

echo
while [ -n "$1" ]
do
  case "$1" in
    -a) echo "Found the -a option" ;;
    -b) echo "Found the -b option" ;;
    -c) echo "Found the -c option" ;;
    *) echo "$1 not an option";;
    esac
    shift
 done

分离参数与选项

代码语言:javascript
复制
#/bin/bash
# extracting options and parameters
echo
while [ -n "$1" ]
do
  case "$1" in
    -a) echo "Found the -a option" ;;
    -b) echo "Found the -b option" ;;
    -c) echo "Found the -c option" ;;
    --) shift
        break ;;
     *) echo "$1 not an option";;
    esac
    shift
 done 
 #
 count=1
 for param in "$@"
 do
   echo "Parameter #$count: $param"
   count=$[ $count + 1 ]
 done

处理带值的选项

代码语言:javascript
复制
#/bin/bash
# extracting command line and values
echo
while [ -n "$1" ]
do
  case "$1" in
    -a) echo "Found the -a option" ;;
    -b) param="$2"
        echo "Found the -b option,with parameter value $param"
        shift ;;
    -c) echo "Found the -c option" ;;
    --) shift
        break ;;
     *) echo "$1 not an option";;
    esac
    shift
 done 
 #
 count=1
 for param in "$@"
 do
   echo "Parameter #$count: $param"
   count=$[ $count + 1 ]
 done

使用getopt命令

  • getopt ab:cd -a -b test1 -cd test2 test3
代码语言:javascript
复制
 #/bin/bash
# extracting command line and values with getopt
set -- $(getopt -q ab:cd "$@")
#
echo
while [ -n "$1" ]
do
  case "$1" in
    -a) echo "Found the -a option" ;;
    -b) param="$2"
        echo "Found the -b option,with parameter value $param"
        shift ;;
    -c) echo "Found the -c option" ;;
    --) shift
        break ;;
     *) echo "$1 not an option";;
    esac
    shift
 done 
 #
 count=1
 for param in "$@"
 do
   echo "Parameter #$count: $param"
   count=$[ $count + 1 ]
 done
  • getopts
代码语言:javascript
复制
#!/bin/bash
# simple demonstration of the getopts command
#
echo
while getopts :ab:c opt
do
  case "$opt" in
    a) echo "Found the -a option" ;;
    b) echo "Found the -b option",with value $OPTARG ;;
    c) echo "Found the -c option" ;;   
    *) echo "Unknown option:  $opt" ;;
  esac
done 
  • 未完待续……
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年08月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 处理简单选项
  • 分离参数与选项
  • 处理带值的选项
  • 使用getopt命令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档