сдвиг ко второму параметру и для выполнения сценария $2

Я пытаюсь решить, как я могу выполнить второй параметр ($2) непосредственно после $1. Для примера:

./file.sh file1.txt file2.sh

Я пытаюсь вызвать file2.sh после ./file.sh, но ничего не получается. И я не знаю, как я должен использовать "shift"... Кто-нибудь может помочь мне, пожалуйста?

0
09.08.2016, 19:42
2 ответа

Вы хотите что-нибудь подобное?

./file.sh file1.txt && file2.sh

Он выполнит сценарий file2.sh только тогда, когда сценарий file.sh завершится с нулевым статусом (без ошибок).

Вы также можете использовать || вместо && . Если первый не сработает, он запустит второй сценарий.

0
28.01.2020, 04:50

В file.sh :

#!/bin/sh

first="$1"
shift

# Run the rest of the command line as a command
"$@"

Это поместит первый аргумент командной строки в переменную сначала , а затем сдвинет это значение из позиционных параметров. Последняя строка скрипта выполнит остальные позиционные параметры как команду.

$ ./file.sh hello echo world
world
0
28.01.2020, 04:50

Теги

Похожие вопросы