LINUX.ORG.RU

Использование shift в функции...


0

0

Операция shift обычно используеться для сдвига номеров параметров влево, т. е.
$1>/dev/null, $2>$1, $3>$2... Как мне использовать шифт в функции для сдвига параметров не самой функции, но самого скрипта?
(нужно для разбора флагов запуска, которые могут быть в любом порядке)

anonymous

> Как мне использовать шифт в функции для сдвига параметров не самой функции, но самого скрипта?

Никак. Ищи другой способ :) Например, передавать все параметры скрипта в функцию, там делать разбор, а на stdout функции выводить число shift'ов, которое нужно. Потом:

shift `parse_args "$@"`

watashiwa_daredeska ★★★★
()

> Как мне использовать шифт в функции для сдвига параметров
> не самой функции, но самого скрипта?

так же?

5:~$ sh -c 'echo $1 $2 $3 END' -- 10 20 30
10 20 30 END
5:~$ sh -c 'shift; echo $1 $2 $3 END' -- 10 20 30
20 30 END

idle ★★★★★
()
Ответ на: комментарий от idle

я думаю он имеет в виду -- чтобы после исполнения функции аргументы самого скрипта оказались сдвинутыми. По моему watashiva_daredeshka все правильно сказал.

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

> я думаю он имеет в виду -- чтобы после исполнения функции
> аргументы самого скрипта оказались сдвинутыми.

A, блин ...

> По моему watashiva_daredeshka все правильно сказал.

я теперь тоже так думаю :)


idle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.