linux shell

关注公众号 jb51net

关闭
首页 > 脚本专栏 > linux shell > linux shell 命令行参数

linux shell 解析命令行参数及while getopts用法小结

作者:西京刀客

这篇文章主要介绍了linux shell 解析命令行参数及while getopts用法,getpots是Shell命令行参数解析工具,旨在从Shell Script的命令行当中解析参数,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧

linux shell 解析命令行参数|getpots

demo:

#!/bin/bash
func() {
    echo "Usage:"
    echo "test.sh [-j S_DIR] [-m D_DIR]"
    echo "Description:"
    echo "S_DIR,the path of source."
    echo "D_DIR,the path of destination."
    exit -1
}
upload="false"
while getopts 'h:j:m:u' OPT; do
    case $OPT in
        j) S_DIR="$OPTARG";;
        m) D_DIR="$OPTARG";;
        u) upload="true";;
        h) func;;
        ?) func;;
    esac
done
echo $S_DIR
echo $D_DIR
echo $upload

输出

sh test.sh -j /data/web -m /opt/data/web
##输出结果
/data/web
/opt/data/web
false

getpots

getpots是Shell命令行参数解析工具,旨在从Shell Script的命令行当中解析参数。

getopts optstring name [arg...]

optstring列出了对应的Shell Script可以识别的所有参数。比如:如果 Shell Script可以识别-a,-f以及-s参数,则optstring就是afs;如果对应的参数后面还跟随一个值,则在相应的optstring后面加冒号。比如,a:fs 表示a参数后面会有一个值出现,-a value的形式。

name表示的是参数的名称,每次执行getopts,会从命令行当中获取下一个参数,然后存放到name当中。如果获取到的参数不在optstring当中列出,则name的值被设置为?。

到此这篇关于linux shell 解析命令行参数及while getopts用法小结的文章就介绍到这了,更多相关linux shell 命令行参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文