亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Linux > 正文

linux shell命令行選項與參數用法詳解

2019-10-26 18:40:14
字體:
來源:轉載
供稿:網友
問題描述:在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總是存儲原始$*中下一個要處理的元素位置。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品色蜜蜜精品视频在线观看| 亚洲另类激情图| 日韩hd视频在线观看| 亚洲肉体裸体xxxx137| 欧美日本高清视频| 亚洲人成网站777色婷婷| www.久久草.com| 九色成人免费视频| 久久久久久国产精品美女| 91在线免费看网站| 亚洲人成电影网站色…| 国产网站欧美日韩免费精品在线观看| 91成人天堂久久成人| 欧美一级电影在线| 日本视频久久久| 在线国产精品视频| 欧美日韩国产中文字幕| 亚洲免费av电影| 亚洲福利视频免费观看| 亚洲第一精品久久忘忧草社区| 91精品综合久久久久久五月天| 欧美激情va永久在线播放| 亚洲综合大片69999| 在线观看欧美www| 亚洲xxxx妇黄裸体| 91免费人成网站在线观看18| 欧美黄网免费在线观看| 一区二区三区日韩在线| 久久精品国产一区| 亚洲日韩中文字幕在线播放| 久久色免费在线视频| 久久久伊人欧美| 国产视频精品xxxx| 亚洲视频电影图片偷拍一区| 91精品国产高清| 午夜精品美女自拍福到在线| 欧美极品xxxx| 日韩成人在线电影网| 久久精品视频va| 国产欧美韩国高清| 亚洲精品www| 国产精品精品久久久| 欧美高清电影在线看| 欧美亚洲午夜视频在线观看| 国产精品99久久久久久久久久久久| 国产精品久久久久久亚洲影视| 92国产精品视频| 粉嫩av一区二区三区免费野| 成人做爽爽免费视频| 日韩成人av在线播放| 精品国产欧美一区二区三区成人| 久久精品在线视频| 综合136福利视频在线| 成人免费看片视频| 亚洲视频在线看| 69av成年福利视频| 欧美亚洲国产日韩2020| 91免费国产视频| 欧美一级黑人aaaaaaa做受| 国产精品无av码在线观看| 中文字幕欧美日韩在线| 日韩在线观看网址| 97久久伊人激情网| 欧美激情欧美激情在线五月| 国产精品99久久久久久白浆小说| 亚洲视频在线视频| 成人免费网视频| 一区二区av在线| 欧美激情欧美激情| 国产精品久久久久久搜索| 亚洲第一精品夜夜躁人人躁| 亚洲男人天堂古典| 性金发美女69hd大尺寸| 精品在线观看国产| 久久久久久久久久久免费精品| 性色av一区二区三区免费| 国产亚洲精品va在线观看| 国产成人精品在线观看| 国产精品久久久久99| 国产精品青青在线观看爽香蕉| 欧美在线播放视频| 久久久女女女女999久久| 久久久久久久久久久久久久久久久久av| 亚洲男子天堂网| 亚洲黄页视频免费观看| 日本精品久久中文字幕佐佐木| 日韩视频欧美视频| 日韩精品在线观看一区二区| 久99九色视频在线观看| 亚洲一区中文字幕在线观看| 亚洲视频一区二区三区| www国产91| 久久精品国产一区二区电影| 欧美丝袜第一区| 久久视频在线看| 4k岛国日韩精品**专区| 日韩中文av在线| 欧美精品做受xxx性少妇| 欧美日韩中文在线观看| 欧美精品在线观看| 久久久久久久亚洲精品| 国产精品久久久久久亚洲影视| 日韩激情视频在线| 97人洗澡人人免费公开视频碰碰碰| 亚洲iv一区二区三区| 2025国产精品视频| 欧美午夜激情小视频| 91沈先生作品| 国产精品无码专区在线观看| 国产美女精品视频免费观看| 日韩精品视频在线| 91久久精品国产91久久| 国产成人av网址| 91精品国产综合久久男男| 亚洲精品99久久久久| 欧美猛男性生活免费| 亚洲黄在线观看| 欧美xxxx综合视频| www.美女亚洲精品| 国产精品久久久久久超碰| 日韩视频免费大全中文字幕| 茄子视频成人在线| 国产欧美日韩视频| 热久久视久久精品18亚洲精品| 伦伦影院午夜日韩欧美限制| 久久天天躁狠狠躁夜夜av| 91美女片黄在线观| 久久精品国产欧美激情| 久久精品国产久精国产一老狼| 精品激情国产视频| 国产视频亚洲视频| 伊人久久五月天| 亚洲国产又黄又爽女人高潮的| 久久久久久久色| 国产又爽又黄的激情精品视频| 日韩成人在线电影网| 国产亚洲激情视频在线| 日韩欧美在线国产| 欧美日韩精品二区| 国产成人一区二区在线| 国产一区深夜福利| 俺去了亚洲欧美日韩| 国产一区二区三区直播精品电影| 日韩av电影免费观看高清| 亚洲欧美国产高清va在线播| 欧美理论在线观看| 久久免费少妇高潮久久精品99| 日韩av在线免费观看一区| 欧美国产日韩视频| 一区二区国产精品视频| 欧美日韩国产一区二区三区| 亚洲精品www久久久| 国产精品一区二区电影| 中文字幕久热精品视频在线| 97碰碰碰免费色视频| 国产免费一区二区三区在线能观看| 欧美黑人一级爽快片淫片高清| 久久久欧美一区二区| 欧美另类69精品久久久久9999| 国产欧美精品xxxx另类| 国产va免费精品高清在线观看| 欧美成人免费小视频| 亚洲精品欧美极品| 欧美电影《睫毛膏》|