🐧 Что такое $0 в скрипте Bash? |

🐧 Что такое $0 в скрипте Bash?

Скрипты

Как вы знаете, знак $ в bash используется для обозначения переменных.

Это тоже переменная, но другая.

$0 – это одна из специальных переменных, которые есть в bash, и она используется для вывода имени файла скрипта, который в данный момент выполняется.

Переменная $0 может быть использована в Linux двумя способами:

  • Использовать $0 для поиска оболочки входа в систему
  • Использовать $0 для вывода имени выполняемого скрипта.

Итак, давайте начнем с первого.

Поиск оболочки, в которую вы вошли в систему, с помощью $0

Когда $0 не используется в скрипте, она хранит информацию о том, какую оболочку вы используете в данный момент.

Если вы выведете значение $0, система покажет вам, в какой оболочке вы сейчас вошли в систему.

Например, здесь я вошел в bash в одном окне, а в другом я использовал zsh, и печать значения $0 с помощью команды echo показала имена вошедших оболочек:

Теперь перейдем к тому, как ее можно использовать в скриптах.

Использование $0 в скриптах shell

Чтобы использовать переменную $0 в скрипте, достаточно использовать простой оператор echo с этой переменной, и он выведет имя файла.

Например, здесь я буду использовать простой скрипт hello world:

#!/bin/bash
echo "Hello World"

Если мне нужно использовать здесь переменную $0, все, что мне нужно сделать, это добавить следующую строку в конце:

echo $0

Чтобы сделать его более человекочитаемым, вы также можете использовать что-то вроде этого:

echo "The name of the script is: " $0

Таким образом, конечный результат будет выглядеть следующим образом:

#!/bin/bash
echo "Hello World"
echo "The name of the script is: " $0

А это вывод, когда я выполнил скрипт:

Небольшая, но эффективная переменная. Не так ли?

Другие специальные переменные в Bash

Если эта переменная показалась вам увлекательной, в bash есть еще больше специальных переменных, которые можно использовать в различных скриптах.

И если вы хотите узнать о них больше, у нас есть специальные руководства для этого:

 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий