При разборе аргументов командной строки не пытайтесь воздействовать на них немедленно.Просто помните , что вы видели. После того, как вы проанализировали все параметры, вы можете действовать в зависимости от того, что вы узнали.
Обратите внимание, что one
и two
можно заменить одной функцией, параметризованной параметромпрограмма (wget
или curl
) для запуска;пока вы это делаете, передайте список слов в качестве аргумента.
get_it () {
# $1 - program to run to fetch a URL
# $2 - list of words to build URLs
while IFS= read -r line; do
"$1" http://10.10.10.10/"$line"
done < "$2"
}
while getopts "abc:" option; do
case "${option}" in
c) wordlist=${OPTARG} ;;
a) getter=wget;;
b) getter=curl;;
esac
done
get_it "$getter" "$wordlist"