змінні linux

# Image.jpgПрівет, читачам мого блогу. Не так давно дізнався практично все про змінних в інтерпретаторі bash. На даний момент бажаю для вас про це розповісти.

Змінні в bash дуже інтенсивно використовуються при написанні скриптів, як втім, і в будь-якій мові програмування для написання програм. Типи змінних в bash відсутні.

Змінна в bash може являти собою число, символ або рядок символів. Ім'я змінної може починатися з літери або з знака підкреслення і не може містити дефіс.Фізіческі, змінні представляють собою іменовані ділянки пам'яті, в які може бути записана будь-яка інформація.

Хоча, вищесказане про відсутність типу змінної можна оскаржити, бо змінні в bash діляться на Головні змінні (їх же називаю ще - глобальними, стандартними, змінні середовища або внутрішніми) і призначені для користувача (які визначені користувачем під час роботи). При цьому, користувач може переводить свою призначену для користувача змінну в глобальну, за допомогою команди export. Про інших командах управління змінним можна почитати тут.

При використанні змінних. існує таке негласне угоду, що спрощує роботу: для глобальних змінних вживаються тільки Малі літери, для інших - маленькі.

змінні середовища

Давайте поговоримо про змінних середовища. Дані змінні, задані в файлах /etc/.profile,

/.bash_profile і не започатковано при завантаженні, або при виконанні команди ". файл_ініціалізаціі". Зазвичай, головні значення змінних середовища наступні:

У змінній $ BASH міститься повний шлях до виконуваного файлу командної оболонки Bash.

У змінну $ BASH_VERSION записується версія Bash.

Змінна, яка зберігає шляху пошуку каталогу. (Використовується при введенні команди cd імя_каталога без слеша)

містить список каталогів для пошуку файлів класів Java і архівів Java.

домашній каталог поточного користувача.

змінні linux

У змінній $ HOSTNAME зберігається ім'я комп'ютера.

кількість подій, що зберігаються в історії за Один сеанс

Розміщення файлу історії подій

кількість подій, що зберігаються в історії між сеансами

змінна зберігає знаки, які є роздільниками команд і рис. (За замовчуванням - пробіл, табуляція і новий рядок)

поточна установка локалізації, яка дозволяє налаштувати командну оболонку для використання в різних країнах і на різних мовах.

У змінній $ OSTYPE міститься опис операційної системи.

список каталогів для пошуку команд і додатків, коли повний шлях до файлу не заданий.

PS1 вживається як основна рядок запрошення. (Те саме [root @ proxy

PS2 вживається як вторинна рядок запрошення.

Ця команда повинна бути виконана до відображення рядка запрошення Bash.

повний шлях до поточного робочого каталогу.

повний шлях до поточної командній оболонці.

У змінній $ USER міститься ім'я поточного користувача.

змінні користувача

Присвоєння значення змінної

Змінні з'являються, як користувач "оголосить" дану змінну, іншими словами присвоїть змінній якесь значення:

Діяння над змінними

Як уже зазначалося, змінної можна привласнити значення. Крім цього діяння, може бути створювати такі діяння:

Особливі змінні (Позиційні змінні)

При виклику команди або сценарію з аргументами, ім'я команди і її аргументи є позиційними змінними. Позиційними вони називаються, тому що всередині сценарію звернення до них відбувається по позиції в командному рядку. Давайте розглянемо їх на практиці:

змінні linux

З наведеного скрипта видно, що:

зберігає ім'я команди, яка запустила сценарій

змінні зберігають 1, 2, 3. n позицію аргументів команди

зберігає кількість аргументів команди

зберігає значення всіх аргументів командного рядка через пробіл

зберігає значення всіх аргументів командного рядка у вигляді списку

зберігає PID запущеного сценарію (процесу)

зберігає значення PID останнього процесу, запущеного в тлі

Статус виходу запущеної останньої програми. Він так само називається кодом умови, кодом повернення. За угодою, нульове значення статуси закінчення відповідає значенню false і позначає невдале закінчення процесу. Код виходу рівний Нуль відповідає true і позначає успішне закінчення програми. (В нашому прикладі ls display_ завершилося з помилкою і кодом виходу 2, тому що файлу або каталогу display_ не існує)

Діяння над змінними 2

Бажаю доповнити можливі дії над змінним: зрушення і ініціалізація змінних. Знову ж, простіше буде зрозуміти дані діяння на практиці:

Як видно, команда shift "зрушує" позиційні властивості, в кінцевому підсумку чого властивості "зсуваються" на одну позицію вліво.

X <- $1, $1 <- $2, $2 <- $3, $3 <- $4, и т.д.

Колишній аргумент $ 1 втрачається, але аргумент $ 0 (ім'я файлу сценарію) залишається без змін.

Команда set встановлює позиційні змінні на базі переданих їй аргументів, розбитих пробілами. Відповідно, команді set може бути передати у вигляді аргументів і висновок будь-якої команди в вигляді set $ (command). Властивості команди set можна подивитися тут.

P.S. Забув вказати на такий момент.Не вважаючи використання посилання на змінну в форматі $ ім'я_змінної, можливий і такий синтаксис: $. Даний синтаксис дозволяє з'єднати змінну з іншим текстом. приклад:

Як видно в прикладі, при спробі вивести значення змінної $ var10ander виводиться порожній рядок, і правильно, тому що такої змінної немає. при укладанні змінної у фігурні дужки - значення змінної об'єднується з наступним текстом.

На сьогодні це все. Думаю уявлення про те, як працюють змінні в bash, я виклав зрозуміло. Бажаю для вас побільше практики! # image.jpg

У минулій темі про демона syslogd і команді logrotate, я згадував про планувальнику Linux - cron. На даний момент в своєму блозі я більш ретельно розповім про роботу даного планіровщіка.cronПланіровщік зад.

Непоганого часу, гості! В ​​сьогоднішній статті бажаю торкнутися такої великої теми як Незмінні вираження. Думаю всім зрозуміло, що тема регексов (так незмінні вираження називаються на сленгу) - Неохім.

Версія для печатіНе міг залишити поза увагою в блозі дану тему. У даній статті опишу те, що є на просторах інтернету в великих кількостях. Напевно, в головному роблю це для себе, у вигляді шпаргалки.

Непоганого часу, читачі мого блогу! У даній статті бажаю систематизувати свої пізнання щодо основних механізмів роботи програмних потоків і каналів в інтерпретаторі і в загальному в ОС Linux, а так ж.

На даний момент на йтиметься про журнал в Linux. Функція системного журналирования (т.зв. "логи" або логирование) - це основне джерело інформації про роботу системи і помилки. Журнал роботи може осущ.

Схожі статті