Аргументы в Bash
Вы можете передавать аргументы в сценарий оболочки при его выполнении. Чтобы передать аргумент, вам просто нужно написать его сразу после имени вашего скрипта. Например:
./devdojo.com your_argument
Затем в сценарии мы можем использовать $1
для ссылки на первый указанный нами аргумент.
Если мы передадим второй аргумент, он будет доступен как $2
и так далее.
Давайте создадим короткий скрипт, называемый arguments.sh
в качестве примера:
#!/bin/bash
echo "Argument one is $1"
echo "Argument two is $2"
echo "Argument three is $3"
Сохраните файл и сделайте его исполняемым:
chmod +x arguments.sh
Затем запустите файл и передайте 3 аргумента:
./arguments.sh dog cat bird
Результат, который вы получите, будет:
Argument one is dog
Argument two is cat
Argument three is bird
Чтобы ссылаться на все аргументы, вы можете использовать $@
:
#!/bin/bash
echo "All arguments: $@"
Если вы запустите скрипт еще раз:
./arguments.sh dog cat bird
Вы получите следующий результат:
All arguments: dog cat bird
Еще одна вещь, о которой вам нужно помнить, это то, что $0
используется для ссылки на сам скрипт.
Это отличный способ создать самоуничтожаемый файл, если вам нужно, или просто получить имя скрипта.
Например, давайте создадим скрипт, который распечатывает имя файла и после этого удаляет файл:
#!/bin/bash
echo "The name of the file is: $0 and it is going to be self-deleted."
rm -f $0
Вы должны быть осторожны с самоудалением и убедиться, что у вас есть резервная копия сценария, прежде чем удалять его самостоятельно.
Last updated