F
getopts
Size: a a a
F
getopts
ДГ
ДГ
ДГ
ДГ
Vs
$1
аᶘ
--
, потом позиционные аргументы; по умолчанию же пользователь может смешивать позиционные аргументы и ключи). Далее, в цикле всегда происходит обработка «первого» ($1) аргумента, после которого всегда следует shift — built-in-функция для сдвига следующего аргумента на место первого аргумента. Таким образом, ты обрабатываешь все аргументы, пока не дойдёшь до --
или до ошибки. Цикл нужен, потому что ты не знаешь, сколько у тебя может быть аргументов изначально.аᶘ
orig_opts="$@"
opts=`getopt -n $prog -o v,V,q,h -l verbose,version,quiet,help -- "$@"` ||
( ret=$?; show_usage; exit $ret ) >&2
eval set -- "$opts"
verbose=-v;
quiet=0;
while :; do
case "$1" in
-v|--verbose)
#[ -z "$verbose" ] || set -x
verbose=-v
;;
-V|--version) print_version; exit 0;;
-h|--help) show_help;;
-q|--quiet) quiet=1;;
--) shift; break;;
*)
fatal 'Unrecognized option: %s\n' "$1"
;;
esac
shift
done
ДГ
аᶘ
Лс
С
Лс
VP
jq
меня утомляет. Не зря-же на русской раскладке, он ой
.AD
Iperf3 -c $data 2>>error.log
Как мне в log дописывать $data в случае ошибки?F
Iperf3 -c $data 2>>error.log
Как мне в log дописывать $data в случае ошибки?date`
ERROR: errorcode ${?}, data: $data" >> error.logAD
F