相关疑难解决方法(0)

在Bash中使用getopts检索单个选项的多个参数

我需要帮助getopts.

我创建了一个Bash脚本,在运行时看起来像这样:

$ foo.sh -i env -d directory -s子目录-f文件

从每个标志处理一个参数时,它可以正常工作.但是当我从每个标志调用几个参数时,我不确定如何从变量中提取多个变量信息getopts.

while getopts ":i:d:s:f:" opt
   do
     case $opt in
        i ) initial=$OPTARG;;
        d ) dir=$OPTARG;;
        s ) sub=$OPTARG;;
        f ) files=$OPTARG;;

     esac
done
Run Code Online (Sandbox Code Playgroud)

抓住选项后,我想从变量构建目录结构

foo.sh -i test -d directory -s subdirectory -s subdirectory2 -f file1 file2 file3
Run Code Online (Sandbox Code Playgroud)

那么目录结构就是

/test/directory/subdirectory/file1
/test/directory/subdirectory/file2
/test/directory/subdirectory/file3
/test/directory/subdirectory2/file1
/test/directory/subdirectory2/file2
/test/directory/subdirectory2/file3
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

bash getopts command-line-arguments

50
推荐指数
7
解决办法
8万
查看次数

标签 统计

bash ×1

command-line-arguments ×1

getopts ×1