成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

linux文檔中option什么意思

在linux中,option是指命令選項,是調整命令執行行為的開關,即選項不同決定了命令的顯示結果不同。option(選項)分為長選項和短選項:1、短選項都是使用“-”引導,當有多個短選項時,各選項之間使用空格隔開;2、長選項都是完整的單詞,且通常不能組合。

linux文檔中option什么意思

本教程操作環境:linux7.3系統、Dell G3電腦。

Linux中命令選項(option)及參數簡介

登錄Linux后,我們就可以在#或$符后面去輸入命令,有的時候命令后面還會跟著“選項”(英文options)或“參數”(英文arguments)。即Linux中命令格式為:

command [options] [arguments] //中括號代表是可選的,即有些命令不需要選項也不需要參數,但有的命令在運行時需要多個選項或參數。

選項options

選項是調整命令執行行為的開關,即,選項不同決定了命令的顯示結果不同。

選項分為長選項和短選項。

短選項:比如-h,-l,-s等。(– 后面接單個字母)

  • 短選項都是使用‘-’引導,當有多個短選項時,各選項之間使用空格隔開。

  • 有些命令的短選項可以組合,比如-l –h 可以組合為–lh

  • 有些命令的短選項可以不帶-,這通常叫作BSD風格的選項,比如ps aux

  • 有些短選項需要帶選項本身的參數,比如-L 512M

長選項:比如–help,–list等。(– 后面接單詞)

  • 長選項都是完整的單詞

  • 長選項通常不能組合

  • 如果需要參數,長選項的參數通常需要‘=’,比如–size=1G

參數arguments

  參數是指命令的作用對象。

  如ls命令,不加參數的時候顯示是當前目錄,也可以加參數,如ls /dev, 則輸出結果是/dev目錄。

  以上簡要說明了選項及參數的區別,但具體Linux中哪條命令有哪些選項及參數,需要我們靠經驗積累或者查看Linux的幫助了。

總結:

選項是限定結果的顯示結果  

  • 短選項(- 一個橫杠):只能修飾一個字符的選項,比如: ls -a,當然多個短選項可以合并,比如tar -cvf

  • 長選項(– 兩個橫杠):可以修飾單個字符,也可以修飾一個單詞,比如:

    (1) chkconfig –list

    (2)chkconfig –add xxx

    (3)service –status-all

參數是傳遞到腳本中的真實的參數

命令行選項(option)與命令行參數的使用方法

問題描述:在linux shell中如何處理tail -n 10 access.log這樣的命令行選項?

在bash中,可以用以下三種方式來處理命令行參數,每種方式都有自己的應用場景。

  • 1,直接處理,依次對$1,$2,…,$n進行解析,分別手工處理;

  • 2,getopts來處理,單個字符選項的情況(如:-n 10 -f file.txt等選項);

  • 3,getopt,可以處理單個字符選項,也可以處理長選項long-option(如:–prefix=/home等)。

總結:小腳本手工處理即可,getopts能處理絕大多數的情況,getopt較復雜、功能也更強大。

1,直接手工處理位置參數

必須要要知道幾個變量

*    $0 :即命令本身,相當于c/c++中的argv[0]   *    $1 :第一個參數.   *    $2, $3, $4 ... :第2、3、4個參數,依次類推。   *    $#  參數的個數,不包括命令本身   *    $@ :參數本身的列表,也不包括命令本身   *    $* :和$@相同,但"$*" 和 "$@"(加引號)并不同,"$*"將所有的參數解釋成一個字符串,而"$@"
登錄后復制

是一個參數數組。

手工處理方式能滿足多數的簡單需求,配合shift使用也能構造出強大的功能,但處理復雜選項時建議用下面的兩種方法。

例子,(getargs.sh):

#!/bin/bash   if [ $# -lt 1 ]; then       echo "error.. need args"       exit 1  fi   echo "commond is $0"  echo "args are:"  for arg in "$@"  do       echo $arg   done
登錄后復制

運行命令:

./getargs.sh 11 22 cc   commond is ./getargs.sh   args are:   11  22  cc
登錄后復制

2,getopts (shell內置命令)

處理命令行參數是一個相似而又復雜的事情,為此,c提供了getopt/getopt_long等函數,c++的boost提供了

options庫,在shell中,處理此事的是getopts和getopt。

getopts/getopt的區別,getopt是個外部binary文件,而getopts是shell builtin。

[root@jbxue ~]$ type getopt   getopt is /usr/bin/getopt   [root@jbxue ~]$ type getopts   getopts is a shell builtin
登錄后復制

getopts不能直接處理長的選項(如:–prefix=/home等)

關于getopts的使用方法,可以man bash 搜索getopts

getopts有兩個參數,第一個參數是一個字符串,包括字符和“:”,每一個字符都是一個有效的選項,如果

字符后面帶有“:”,表示這個字符有自己的參數。getopts從命令中獲取這些參數,并且刪去了“-”,并

將其賦值在第二個參數中,如果帶有自己參數,這個參數賦值在“optarg”中。提供getopts的shell內置了

optarg這個變變,getopts修改了這個變量。

這里變量$optarg存儲相應選項的參數,而$optind總是存儲原始$*中下一個要處理的元素位置。

while getopts ":a:bc" opt #第一個冒號表示忽略錯誤;字符后面的冒號表示該選項必須有自己的參數

例子,(getopts.sh):

echo $*   while getopts ":a:bc" opt   do           case $opt in                   a ) echo $optarg                       echo $optind;;                   b ) echo "b $optind";;                   c ) echo "c $optind";;                   ? ) echo "error"                       exit 1;;           esac   done   echo $optind   shift $(($optind - 1))   #通過shift $(($optind - 1))的處理,$*中就只保留了除去選項內容的參數,可以在其后進行正常的shell      編程處理了。   echo $0  echo $*
登錄后復制

執行命令:

./getopts.sh -a 11 -b -c   -a 11 -b -c   11  3  b 4  c 5  5  ./getopts.sh
登錄后復制

3,getopt(一個外部工具)

具體用用法可以 man getopt

  • #-o表示短選項,兩個冒號表示該選項有一個可選參數,可選參數必須緊貼選項,如-carg 而不能是-c arg

  • #–long表示長選項

例子,(getopt.sh):

#!/bin/bash   # a small example program for using the new getopt(1) program.   # this program will only work with bash(1)   # an similar program using the tcsh(1) script. language can be found   # as parse.tcsh   # example input and output (from the bash prompt):   # ./parse.bash -a par1 'another arg' --c-long 'wow!*?' -cmore -b " very long "  # option a   # option c, no argument   # option c, argument `more'  # option b, argument ` very long '  # remaining arguments:   # --> `par1'  # --> `another arg'  # --> `wow!*?'  # note that we use `"$@"' to let each command-line parameter expand to a  # separate word. the quotes around `$@' are essential!  # we need temp as the `eval set --' would nuke the return value of getopt.  #-o表示短選項,兩個冒號表示該選項有一個可選參數,可選參數必須緊貼選項   #如-carg 而不能是-c arg   #--long表示長選項   #"$@"在上面解釋過   # -n:出錯時的信息   # -- :舉一個例子比較好理解:   #我們要創建一個名字為 "-f"的目錄你會怎么辦?   # mkdir -f #不成功,因為-f會被mkdir當作選項來解析,這時就可以使用   # mkdir -- -f 這樣-f就不會被作為選項。   temp=`getopt -o ab:c:: --long a-long,b-long:,c-long::         -n 'example.bash' -- "$@"`   if [ $? != 0 ] ; then echo "terminating..." >&2 ; exit 1 ; fi   # note the quotes around `$temp': they are essential!  #set 會重新排列參數的順序,也就是改變$1,$2...$n的值,這些值在getopt中重新排列過了   eval set -- "$temp"  #經過getopt的處理,下面處理具體選項。   while true ; do           case "$1" in                   -a|--a-long) echo "option a" ; shift ;;                   -b|--b-long) echo "option b, argument `$2'" ; shift 2 ;;                   -c|--c-long)                           # c has an optional argument. as we are in quoted mode,                           # an empty parameter will be generated if its optional                           # argument is not found.                           case "$2" in                                   "") echo "option c, no argument"; shift 2 ;;                                   *)  echo "option c, argument `$2'" ; shift 2 ;;                           esac ;;                   --) shift ; break ;;                   *) echo "internal error!" ; exit 1 ;;           esac   done   echo "remaining arguments:"  for arg do      echo '--> '"`$arg'" ;   done
登錄后復制

運行命令:

./getopt.sh --b-long abc -a -c33 remain   option b, argument `abc'   option a   option c, argument `33'   remaining arguments:   --> `remain'
登錄后復制

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
女人与牛ZOZO| 亚洲AV秘 无码一区二黑人| 野花影视在线观看免费高清完整版 | 亚洲视频日韩视欧美视频| 大香伊蕉在人线国产2020年| 久久精品国产99久久无毒不卡| 日日狠狠久久偷偷色| 婬乱丰满熟妇XXXXX| 国产欧美日韩视频免费| 全黄H全肉边做边吃奶| 亚洲熟妇丰满美女XXXXX| 公司办公室的秘书3| 女女互揉吃奶揉到高潮视频| 亚洲国产精品成人一区二区在线 | 精品人妻系列无码专区| 熟女高潮喷水一区二区三区| 99国精产品W灬源码1688| 黑人干人三区亚洲| 少妇人妻无码专用视频| 99精品人妻无码专区在线视频区| 精品日产A一卡2卡三卡4卡乱| 色欲久久久天天天综合网 | 少妇被躁爽到高潮无码人狍大战| 50多岁岳不让我戴套| 精品人人妻人人爽D∨D| 无码人妻精品一区二区三区9厂| TOUGHTESTED硬汉系列| 狂野欧美性猛XXXX乱大交| 亚洲AV深夜高潮无码成人| 俄罗斯卖CSGO的网站| 欧美人与动牲交A欧美精品| 一二三四电影在线观看视频播放免| 国产午夜精品一区二区三区老 | 日本AⅤ精品一区二区三区| 中国熟妇人妻性XXXXX在线看| 黑人玩弄漂亮少妇高潮大叫| 无码AⅤ最新AV无码专区| 成人AV无码乱码在线观看无码| 欧美不卡一区二区三区| 在线观看AV片永久免费| 精品一区二区三区在线成人| 亚洲AV色香蕉一区二区蜜桃| 国产激情久久久久影院老熟女| 日韩精品人妻一区二区三区| WWW无套内射高清免费| 男女猛烈XX00免费视频试看| 一本大道色卡1卡2卡3乱码| 狠狠躁夜夜躁人人爽天天| 午夜伦4480YY私人影院免费| 国产成人AV无码精品| 色欧美片视频在线观看| 不用播放器的AV| 人伦亲情父母儿女的句子简短| 97超碰人人人人人人少妇| 免费AV大片在线观看入口| 一本到无码AV专区无码不卡| 久别的草原在线看视频免费| 亚洲成av人在线观看| 国内情侣作爱视频网站| 性丰满ⅩXXOOOZZXXHD| 国产精品主播一区二区三区| 无码AV无码天堂资源网| 国产成人婷婷丁香在线| 天堂А√在线最新版在线| 国产99视频精品免费视看6| 色噜噜精品一区二区三区| 东北骚妇老熟女DHXⅩXXX| 日韩免费无码视频一区二区三区| 差差漫画页面免费漫画欢迎你| 人妻熟妇乱又伦精品视频| 芭乐小猪幸福宝丝瓜草莓官网| 人妻三级日本香港三级极| 八戒八戒神马影院在线电影4| 人妻激情偷乱视频一区二区三区 | 好硬好湿好爽再深一点动态图片| 亚洲AⅤ久久久噜噜噜噜| 国产午夜精品一区二区三区老 | ATLANTICOCEAN巨大| 欧美午夜精品一区二区蜜桃 | 西西GOGO大胆啪啪艺术| 国产沙发午睡系列999| 亚洲AV成人午夜电影在线观看| 国语做受对白XXXXmp4| 亚洲精品无码永久中文字幕| 久久精品成人免费国产片| 又硬又粗又长又爽免费看| 免费A级毛片无码无遮挡| 97免费公开在线视频| 强奷乱码中文字幕熟女导航| 成人黄网站片免费视频| 少妇特黄A一区二区三区| 国产精品久久久久不卡无毒| 亚洲AV美女一区二区三区| 精品无码人妻一区二区三区不卡| 亚洲一卡一卡二新区无人区| 久久亚洲AV无码AV男人的天堂| 18精品久久久无码午夜福利| 琪琪无码午夜伦埋影院| 丰满熟妇乱又伦在线无码视频| 无码国产成人午夜在线观看| 好大好爽舔我高潮了| 亚洲综合AV色婷婷国产野外 | A级毛片免费全部播放| 日本又黄又爽又色又刺激的视频 | 狠狠做深爱婷婷综合一区| 一本大道色卡1卡2卡3乱码| 嫩草院一区二区乱码| 成人人妻小说AV| 无码一区二区波多野结衣播放搜索| 极品少妇高潮到爽| 影音先锋AV天堂| 人妻少妇精品无码专区二区| 国产成人拍精品视频午夜网站| 亚洲成人无码一区二区三区| 麻豆文化传媒精品| 波多野结衣HD在线观看| 无人区一码二码乱码区别在哪| 精品亚洲国产成人AV在线时间短| 18SCHOOL第一次破苞摘花| 日本老熟妇ⅩXX| 国产婷婷丁香五月缴情成人网| 野花高清在线观看免费| 青青草国产成人A∨| 国产精品沙发午睡系列| 亚洲无码成人电影| 欧洲无人区卡一卡二| 国产精品 视频一区 二区三区| 亚洲女同精品一区二区| 欧美激情在线播放| 国产成人艳妇AA视频在线| 亚洲熟妇无码A∨| 人妻无码一区二区三区TV| 国产免费一区二区三区免费视频| 一本无线乱码不卡一二三四 | 国产亚洲无线码一区二区| 中国亚洲女人69内射少妇| 色婷婷AV一区二区三区4k岛国| 皇上撞着小公主的小说叫什么| 18禁美女黄网站色大片免费看| 熟女熟妇伦AV网站| 久久狠狠色噜噜狠狠狠狠97| 办公室的交易HD中文字幕| 性色AV无码一区二区三区人妻| 老头巨大挺进莹莹的体内免费视频| 成人午夜无码国产| 亚洲精品无码av中文字幕电影网站 | 亚洲AV综合伊人AV一区加勒比| 欧美丰满熟妇人妻兽交视频| 国产啪精品视频网站免费| 坐着轮流提双腿能起到什么效果 | 女生输了给对方玩一个月| 国产精品美女久久久久AV福利| 伊人色综合网一区二区三区| 少妇人妻中文字幕| 久久中文字幕人妻丝袜系列| 高清WINDOWS免费版| 一本一道波多野结衣AV一区| 少妇大叫太大太爽受不了| 久久久久亚洲AV无码专区桃色| 丰满人妻妇伦又伦精品国产| 野花香电视剧全集免费观看高清| 少妇人妻大乳在线视频不卡| 久热爱精品视频线路一| 国产成人无码区免费A∨视频网站| 中国农村真卖BBWBBW| 无码人妻精品一区二区三区蜜桃| 免费人成视频X8X8入口APP| 国产精品麻豆成人AV电影| 51VV社区视频在线视频观看| 亚拍精品一区二区三区探花| 欧美日韩一区二区三区精品视频| 黑人巨大精品欧美一区二区免费| 差差差很疼30分钟的视频| 野花日本大全免费观看中文7| 天天摸天天碰天天添中文无码| 蜜桃久久精品成人无码AV| 国产亚洲成AV人片在线观看 | 色狠狠色噜噜AV天堂一区| 麻豆精产国品一二三区别| 国产人与ZOXXXX另类| 办公室强肝的播出时间| 夜夜高潮夜夜爽夜夜爱爱| 无忧传媒剧国产剧情MV| 青青草原综合久久大伊人| 久久久久久精品一区二区三区日本 | 午夜男女无遮挡啪拍视频| 日本XXWWWXXXX| 里面也请好好疼爱第三季| 国产自偷在线拍精品热| 当着全班面被C到高潮哭视频 | 亲子伦AV一区的三区| 久久久噜噜噜久久久精品| 国产乱妇乱子在线播视频播放网站| 锕锕锕锕锕锕锕好痛免费网址| 伊人伊成久久人综合 成人| 亚洲AV丰满熟妇在线播放| 色欲人妻AAAAAAA无码| 欧美乱妇高清无乱码免费| 久久无码喷吹高潮播放不卡| 国模少妇一区二区三区|