Находит имя запускаемого скрипта, удаляя его каталог. Например, если скрипт имеет значение /etc/init.d/httpd
, тогда будет установлено значение SCRIPTNAME=httpd
.
.
$0
или ${0}
- это имя выполняемого скрипта. Оператор ##
используется для удаления любой ведущей строки, которая соответствует шаблону */
. *
является символом подстановки, поэтому */
означает «любая строка, за которой следует косая черта».
Результатом этого является удаление любых ведущих имен каталогов из $0
, оставляя только имя сценария.
С человек Баш :
$ {параметр # слово}
$ {параметр ## слово}
Слово раскрывается для создания шаблона, как в раскрытии пути. Если шаблон
соответствует началу значения параметра, тогда результатом расширения является
расширенное значение параметра с кратчайшим подходящим шаблоном (регистр "#") или самым длинным
соответствующий шаблон (случай "##") удален. Если параметр @
или *
, операция удаления шаблона применяется к каждому позиционному параметру по очереди, и в результате получается расширение
список. Если параметр является переменной массива, подписанной с @
или *
, операция удаления шаблона применяется по очереди к каждому члену массива, и расширение является результирующим списком.