Skip to content

Latest commit

 

History

History
32 lines (26 loc) · 683 Bytes

File metadata and controls

32 lines (26 loc) · 683 Bytes
unset -v sub
while getopts ":i:d:s:f:" opt
   do
     case $opt in
        i ) initial=$OPTARG;;
        d ) dir=$OPTARG;;
        s ) sub=("$OPTARG")
            until [[ $(eval "echo \${$OPTIND}") =~ ^-.* ]] || [ -z $(eval "echo \${$OPTIND}") ]; do
                sub+=($(eval "echo \${$OPTIND}"))
                OPTIND=$((OPTIND + 1))
            done
            ;;
        f ) files=$OPTARG;;
     esac
done

echo sub: ${sub[@]}
echo sub0: ${sub[0]}
echo sub1: ${sub[1]}
echo files: $files


# sh getopt.sh -i test -d directory -s subdirectory1 subdirectory2 -f file1

# sub: subdirectory1 subdirectory2
# sub0: subdirectory1
# sub1: subdirectory2
# files: file1