Подтвердить что ты не робот

Bash: возьмите первый аргумент командной строки и передайте остальные

Пример:

check_prog hostname.com /bin/check_awesome -c 10 -w 13

check_remote -H $HOSTNAME -C "$ARGS"
#To be expanded as
check_remote -H hostname.com -C "/bin/check_awesome -c 10 -w 13"

Я надеюсь, что это имеет смысл. Аргументы меняются, поскольку я буду использовать это для примерно 20+ команд. Это нечетный способ обертывания программы, но ее для работы Несколько проблем с несколькими системами, которые мы используем здесь (код любви Gotta от 70-х)

Вышеупомянутое может быть записано в perl или python, но Bash будет предпочтительным методом

4b9b3361

Ответ 1

Вы можете использовать смену

shift - это встроенная оболочка, которая работает с позиционными параметрами. Каждый раз, когда вы вызываете shift, он "сдвигает" все позиционные параметры на единицу. $ 2 становится $ 1, $ 3 становится $ 2, $ 4 становится $ 3 и т.д.

пример:

$ function foo() { echo [email protected]; shift; echo [email protected]; } 
$ foo 1 2 3
1 2 3
2 3