La parte de "firmware" del informe systemd-analyze
muestra el tiempo empleado en inicializar EFI , es decir, el tiempo transcurrido entre el instante en que encendió la alimentación (o el el sistema se reinició )y el instante en que su cargador de arranque comenzó a ejecutarse. Si desea disminuir eso, deberá investigar las opciones de configuración de su placa base.
Если вы не хотите заключать аргументы в кавычки (самое простое и надежное решение ), то вы не можете использовать getopts
, и вам придется что-то ломать вместе, например:
declare -A args
key=""
for arg; do
case $arg in
"-a") key=part_1 ;;
"-b") key=part_2 ;;
*) [[ -n $key ]] || { echo "unexpected argument" >&2; exit 1; }
args[$key]="${args[$key]}$arg "
;;
esac
done
# turn the array keys into variables
for key in "${!args[@]}"; do declare "$key=${args[$key]% }"; done
echo "part 1 => $part_1"
echo "part 2 => $part_2"
С вашими требованиями вы также не можете использовать getopt
. Предполагая, что у вас есть GNU getopt, посмотрите, что произойдет:
$ set -- -a asd qwe zxc -b dfg 213
$ getopt -o a:b: -- "$@"
-a 'asd' -b 'dfg' -- 'qwe' 'zxc' '213'
В качестве аргумента опции принимается только первое слово после опции.
Повторяю, выберите легкий путь и убедитесь, что аргументы процитированы.