0514-86177077
9:00-17:00(工作日)
平常在寫shell腳本都是用$1,$2…這種方式來接收參數,然而這種接收參數的方式不但容易忘記且不易于理解和維護。Linux常用的命令都可指定參數名和參數值,然而我們怎樣才能給自己的shell腳本也采用參數名和參數值這樣的方式來獲取參數值呢?而不是通過$1,$2這種方式進行獲取。下面的例子定義了短參數名和長參數名兩種獲取參數值的方式。其實是根據getopt提供的特性進行整理而來。
#!/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}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
標簽:西寧 迪慶 安康 武威 麗江 紹興 日喀則 蚌埠
上一篇:Linux shell 提取文件名和目錄名的方法
下一篇:shell中常用的命令之diff和patch用法
Copyright ? 1999-2012 誠信 合法 規范的巨人網絡通訊始建于2005年
蘇ICP備15040257號-8