Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
echo - ${@: -1} -
echo - ${@: -3:1} -
${@: -1}
${@: -3:1}
PRE_LAST_ARG=$(echo "$*" | cut -d " " -f $(($#-1)))
#!/bin/bashdeclare -a argv # массив аргументов командной строкиargc=$# # количество аргументов командной строкиfor ((i=1; i<=argc; i++)) # или for i in $(seq $argc)do argv[$i]=$1 shiftdoneif [ $argc -gt 1 ]then let "penultimate=$argc - 1" echo Предпоследний аргумент = "${argv[$penultimate]}", его индекс = $penultimateelse echo Недостаточно аргументов!fi
N=$(($#-1)))
echo ${BASH_ARGV[1]}
#!/bin/bashargc=$#let "prev=argc-1"echo ${!prev}
Здравствуйте.Вот это последний аргумент получает:Код: [Выделить]echo - ${@: -1} -А вот так, экспериментальным путём предпоследний:Код: [Выделить]echo - ${@: -3:1} -Правильно?Тогда почему там 3, а не 2, если цифра это номер элемента с хвоста?
#!/bin/bashecho "${@: -1:1}" # последний аргументecho "${@: -1}" # краткая формаecho "${@: -2:1}" # предпоследнийecho "${@: -3:1}" # третий с концаecho "${@: -4:1}" # четвертый с конца
$ ./test.sh will_not_show -a --qwerty "arg with space" https://forum.ubuntu.ru/index.php?topic=270212.0https://forum.ubuntu.ru/index.php?topic=270212.0https://forum.ubuntu.ru/index.php?topic=270212.0arg with space--qwerty-a
Страница сгенерирована за 0.047 секунд. Запросов: 22.