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 будет предпочтительным методом
Ответы
Ответ 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