最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell腳本傳遞參數(shù)的3種方法比較

 更新時間:2015年05月08日 09:43:37   投稿:junjie  
這篇文章主要介紹了Shell腳本傳遞參數(shù)的3種方法比較,本文直接給出代碼示例,在代碼中包含詳細注解,需要的朋友可以參考下
#!/bin/bash
#extracting command text_text_text_line options as parameters

help_info(){
  echo "NAME"
  echo "\t$0"
  echo "SYNOPSIS"
  echo "\t$0 is a shell test about process options"
  echo "DESCRIPTION"
  echo "\toption like -a -b param1 -c param2 -d"
}

if [ $# -lt 0 ]
then
  help_info
fi

nomal_opts_act()
{
  echo -e "\n### nomal_opts_act ###\n"

  while [ -n "$1" ]
  do
  case "$1" in 
    -a)
      echo "Found the -a option"
      ;;
    -b)
      echo "Found the -b option"
      echo "The parameter follow -b is $2" 
      shift
      ;;
    -c)
      echo "Found the -c option"
      echo "The parameter follow -c is $2"
      shift
      ;;
    -d)
      echo "Found the -d option"
      ;;
     *)
       echo "$1 is not an option"
      ;;
  esac
  shift
  done
}

#用shell命令自建的選項解析,可以按照自己的想法實現(xiàn)
#優(yōu)點:自己定制,沒有做不到,只有想不到
#缺點:麻煩

getopt_act()
{
  echo -e "\n### getopt_act ###\n"

  GETOPTOUT=`getopt ab:c:d "$@"`
  set -- $GETOPTOUT 
  while [ -n "$1" ] 
  do
  case $1 in 
    -a)
      echo "Found the -a option"
      ;;
    -b)
      echo "Found the -b option"
      echo "The parameter follow -b is "$2""
      shift
      ;;
    -c)
      echo "Found the -c option"
      echo "The parameter follow -c is "$2""
      shift
      ;;
    -d)
      echo "Found the -d option"
      ;;
    --)
      shift
      break
      ;;
     *)
       echo "Unknow option: "$1""
      ;;
  esac
  shift
  done

  param_index=1
  for param in "$@"
  do
    echo "Parameter $param_index:$param"
    param_index=$[ $param_index + 1 ] 
  done
}

#用getopt命令解析選項和參數(shù)
#優(yōu)點:相對與getopts來說是個半自動解析,自動組織選項和參數(shù),用 -- 符號將選項與參數(shù)隔開
#缺點:相對于getopts的缺點
#1.需要與set -- 命令配合,不是必須,需要手動shift
#2.選項參數(shù)中不支持空格如 -a -b dog -c "earth moon" -d -f param1 param2 就會解析錯誤

getopts_act()
{
  echo -e "\n### getopts_act ###\n"
  while getopts :ab:c:d ARGS
  do
  case $ARGS in 
    a)
      echo "Found the -a option"
      ;;
    b)
      echo "Found the -b option"
      echo "The parameter follow -b is $OPTARG"
      ;;
    c)
      echo "Found the -c option"
      echo "The parameter follow -c is $OPTARG"
      ;;
    d)
      echo "Found the -d option"
      ;;
     *)
       echo "Unknow option: $ARGS"
      ;;
  esac
  done

  shift $[ $OPTIND -1 ] 
  param_index=1
  for param in "$@"
  do
    echo "Parameter $param_index:$param"
    param_index=$[ $param_index + 1 ] 
  done
}

#getopts 命令解析選項和參數(shù)
#優(yōu)點:可在參數(shù)中包含空格如:-c "earth moon"
#      選項字母和參數(shù)值之間可以沒有空格如:-bdog
#      可將未定義的選項綁定到?輸出
#      Unknow option: ?

nomal_opts_act -a -b dog -c earth -d -f param1 param2
getopts_act -a -b dog -c "earth moon" -d -f param1 param2
getopt_act -a -b dog -c earth -d -f param1 param2

相關(guān)文章

  • linux下通過命令行獲取gmail的新郵件

    linux下通過命令行獲取gmail的新郵件

    在這篇文章中,我將為你展示 Linux 命令行的另一個漂亮干練的使用案例:訪問 Google 的 Gmail 服務(wù),有需要的小伙伴可以參考下。
    2015-05-05
  • 利用Shell腳本循環(huán)讀取文件中每一行的方法詳解

    利用Shell腳本循環(huán)讀取文件中每一行的方法詳解

    讀取文件是我們在日常工作中經(jīng)常遇到的一個需求,下面這篇文章主要給大家介紹了關(guān)于利用Shell腳本循環(huán)讀取文件中每一行的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習下吧。
    2017-09-09
  • linux C語言開發(fā)管道通信實例詳解

    linux C語言開發(fā)管道通信實例詳解

    這篇文章主要介紹了linux C語言開發(fā)管道通信實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • sed找到關(guān)鍵字所在行并將其前面的第一個字符刪除的命令

    sed找到關(guān)鍵字所在行并將其前面的第一個字符刪除的命令

    sed找到關(guān)鍵字所在行并將其前面的第一個字符刪除的命令,需要的朋友可以參考下
    2013-02-02
  • Shell腳本中的特殊字符(美元符、反斜杠、引號等)作用介紹

    Shell腳本中的特殊字符(美元符、反斜杠、引號等)作用介紹

    這篇文章主要介紹了Shell腳本中的特殊字符(美元符、反斜杠、引號等)作用介紹,還包括其它特殊字符,需要的朋友可以參考下
    2015-05-05
  • @echo?off的作用詳解

    @echo?off的作用詳解

    本文主要介紹了@echo?off的作用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • shell腳本中 /dev/null 的用法小結(jié)

    shell腳本中 /dev/null 的用法小結(jié)

    /dev/null 通常被用于丟棄不需要的輸出流,或作為用于輸入流的空文件,這些操作通常由重定向完成,任何你想丟棄的數(shù)據(jù)都可以寫入其中,本文重點給大家介紹shell腳本中 /dev/null 的用法小結(jié),感興趣的朋友一起看看吧
    2021-09-09
  • git 使用及常用命令

    git 使用及常用命令

    本文是關(guān)于git 的使用和一些git使用小技巧,以及git的常用命令,進行的整理,希望能幫助有需要的小伙伴
    2016-07-07
  • Linux shell腳本實現(xiàn)CPU預警

    Linux shell腳本實現(xiàn)CPU預警

    這篇文章主要介紹了Linux shell腳本實現(xiàn)CPU預警的方法,并附上代碼以及用法,有需要的小伙伴可以參考下。
    2015-03-03
  • shell grep 查找進程的小技巧

    shell grep 查找進程的小技巧

    大部分人在寫Shell 過濾進程的時候 都會使用 grep 在 ps aux 的輸出結(jié)果中查找指定的進程,但此時也會把 grep 進程也顯示出來
    2013-01-01

最新評論

汕头市| 阜阳市| 页游| 辽阳县| 丰县| 罗平县| 南投市| 湾仔区| 青冈县| 昌宁县| 利辛县| 南宫市| 泰安市| 海城市| 兴文县| 开封县| 丰顺县| 信阳市| 游戏| 平乡县| 肥乡县| 潼关县| 博乐市| 黎川县| 洛宁县| 长宁县| 民权县| 久治县| 临夏市| 塘沽区| 台湾省| 蒙山县| 界首市| 铁力市| 漯河市| 宁波市| 福海县| 江安县| 平泉县| 陆川县| 永清县|