Аргументы в 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