shell解析xx,xx-xx,xx
#!/bin/bash
#解析x,xx-xx,xx参数,比如解析2,10-12,23为:2 10 11 12 23
parse_parameter(){
input=$*
result=()
IFS=',' read -ra parts <<< "$input"
for part in "${parts[@]}"; do
if [[ $part == *-* ]]; then
IFS='-' read -ra range <<< "$part"
start=${range[0]}
end=${range[1]}
for ((i = start; i <= end; i++)); do
result+=($i)
done
else
result+=($part)
fi
done
echo "${result[@]}"
}
parse_parameter $*
浙公网安备 33010602011771号