Shell腳本通過(guò)參數(shù)名傳遞參數(shù)的實(shí)現(xiàn)代碼
平常在寫shell腳本都是用$1,$2…這種方式來(lái)接收參數(shù),然而這種接收參數(shù)的方式不但容易忘記且不易于理解和維護(hù)。Linux常用的命令都可指定參數(shù)名和參數(shù)值,然而我們?cè)鯓硬拍芙o自己的shell腳本也采用參數(shù)名和參數(shù)值這樣的方式來(lái)獲取參數(shù)值呢?而不是通過(guò)$1,$2這種方式進(jìn)行獲取。下面的例子定義了短參數(shù)名和長(zhǎng)參數(shù)名兩種獲取參數(shù)值的方式。其實(shí)是根據(jù)getopt提供的特性進(jìn)行整理而來(lái)。
#!/bin/bash while getopts i:o:p:s:t: OPT; do case ${OPT} in i) in_file=${OPTARG} ;; o) out_dir=${OPTARG} ;; p) product_code=${OPTARG} ;; s) software_version=${OPTARG} ;; t) type=${OPTARG} ;; \?) printf "[Usage] `date '+%F %T'` -i <INPUT_FILE> -o <OUTPUT_DIR> -o <P RODUCT_CODE> -s <SOFTWARE_VERSION> -t <TYPE>\n" >&2 exit 1 esac done # check parameter if [ -z "${in_file}" -o -z "${out_dir}" -o -z "${product_code}" -o -z "${software_version}" -o -z "${type}" ]; then printf "[ERROR] `date '+%F %T'` following parameters is empty:\n-i=${in_file}\n-o=${out_dir}\n-p=${product_code}\n-s=${software_version}\n-t=${type}\n" exit 1 fi # block enc java -jar openailab-command-line-auth-0.1-SNAPSHOT.jar ${in_file} ${out_dir} ${product_code} ${software_version} ${type}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
expect自動(dòng)檢測(cè)并重啟另外一臺(tái)服務(wù)器上的程序代碼
expect自動(dòng)檢測(cè)并重啟另外一臺(tái)服務(wù)器上的程序的代碼,有需要的朋友可以參考下2013-02-02fedora 23 lvm2格式 根目錄磁盤空間不足 擴(kuò)容方法
下面小編就為大家?guī)?lái)一篇fedora 23 lvm2格式 根目錄磁盤空間不足 擴(kuò)容方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02shell腳本中執(zhí)行python腳本并接收其返回值的例子
這篇文章主要介紹了shell腳本中執(zhí)行python腳本并接收其返回值的例子,本文重點(diǎn)在于如何接收python腳本的返回值,需要的朋友可以參考下2014-08-08shell編程中for循環(huán)語(yǔ)句的實(shí)現(xiàn)過(guò)程及案例
Bash?Shell中主要提供了三種循環(huán)方式:for、while和until,下面這篇文章主要給大家介紹了關(guān)于shell編程中for循環(huán)語(yǔ)句的實(shí)現(xiàn)過(guò)程及案例,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04linux創(chuàng)建PHP定時(shí)任務(wù)的實(shí)例
這篇文章主要介紹了linux創(chuàng)建PHP定時(shí)任務(wù)的實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-07-07Shell使用Epoch進(jìn)行日期時(shí)間轉(zhuǎn)換和計(jì)算的幾個(gè)小函數(shù)
這篇文章主要介紹了當(dāng)你遇到一個(gè)date命令不給力的系統(tǒng)時(shí),可以試試這幾個(gè)小函數(shù),需要的朋友可以參考下2016-12-12python實(shí)現(xiàn)Linux異步epoll代碼
本文提供了python實(shí)現(xiàn)Linux異步epoll的代碼,供大家參考使用,希望對(duì)你有幫助2013-11-11