Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Переменные - окружения, оболочки и динамические bash/sh: Создаем и используем в скриптах shell кратко

Практика



Переменные можно разделить на две категории:

  • переменные окружения (Environmental Variables) - это переменные, которые определены для текущей оболочки и наследуются любыми дочерними оболочками или процессами. Переменные окружения используются для передачи информации в процессы, которые порождаются из оболочки.
  • переменные оболочки (Shell Variables) - это переменные, которые содержатся исключительно в оболочке, в которой они были установлены или определены. Они часто используются для отслеживания эфемерных данных, например, текущего рабочего каталога.

Что я подразумеваю под "динамическими" переменными?

Например, у нас есть 3 переменных:

first_var='Number1'
second_var='Number2'
third_var='Number3'

и переменная, в которой задается - какой должна быть первая часть имени нужной нам переменной:

type='second'

Как сделать так, чтобы мы в скриптах bash и sh могли вот так вот использовать переменную type (или любую другую) для того, чтобы динамически ссылаться на какие-то другие переменные?


Вот кусок кода примера решения:

#!/bin/sh

first_var='Number1'
second_var='Number2'
third_var='Number3'

type='second'

eval new_var=\$${type}_var
echo $new_var


Тут видно, что мы:

  • создаем три переменных (first_var, second_var, third_var)
  • присваиваем переменной type значение части имени переменной
  • создаем новую переменную new_var через конструкцию eval
  • и можем использовать переменную new_var, которая становится равна, по примеру, переменной second_var

Как посмотреть переменные окружения? какой командой можно вывести значение всех переменных окружения unix?

Мы можем увидеть список всех наших переменных окружения, используя команды env или printenv

Переменные - окружения, оболочки   и динамические  bashsh: Создаем и используем в скриптах shell

Как посмотреть переменные оболочки?

Для этого можно использовать команду set. Если мы введем set без каких-либо дополнительных параметров, мы получим список всех переменных оболочки, переменных окружения, локальных переменных и функций оболочки:

Переменные - окружения, оболочки   и динамические  bashsh: Создаем и используем в скриптах shell
Аналогичным образом можно создавать и другие конструкции.

создано: 2017-05-10
обновлено: 2021-03-16
132952



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Операционная система LINUX

Термины: Операционная система LINUX