Як зберегти вихід команди як змінну в Bash? PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Як зберегти вихід команди як змінну в Bash?

Вступ

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

У цьому короткому посібнику ми розглянемо, як ви можете зберегти вихід команди як змінну в Bash.

Основи налаштування змінних

Збереження результату команди як змінної досягається за допомогою підміна команд. Підстановка команди — це оболонка, яка виконує команду в a середовище підоболонки, і замінює обгорнуту команду стандартним виводом середовища, у якому була запущена команда. На цей вихід можна посилатися пізніше, якщо його підключити до посилальної змінної!

Підстановку команд можна здійснити за допомогою зворотних галочок або знака долара з круглими дужками:

`command`

$(command)

Є дискусія щодо того, чи `команда` (зворотні галочки) або $(команда) (знак долара та круглі дужки) слід використовувати як «найкращу практику». $(command) добре працює у вкладенні та покращує читабельність у деяких випадках, але ви можете використати будь-який синтаксис у наступних прикладах.

З огляду на це, призначити вихід команди змінній у Bash так само просто:

VARIABLE=$(command)
echo "${VARIABLE}"

Робота ${variable} відомий як розширення параметріві використовується для оцінки та отримання значення, пов’язаного з еталонною змінною.

Давайте тепер розглянемо простий приклад налаштування змінної для команди, щоб змінити колір виведення:

#!/bin/bash
GREEN=$(tput setaf 2)
echo "${GREEN}Please"

ORANGE=$(tput setaf 9)
echo "${ORANGE}Visit"

echo "${GREEN}Paris"

У фрагменті ми використали tput і присвоїв значення, що повертаються цими командами, для друку кольорового тексту. The setaf змінює колір переднього плану, а 3 (зелений) і 9 (помаранчевий) є кодами кольорів.

Тепер ми перейдемо до іншого прикладу, який містить кілька умов для налаштування змінних для різних команд:

#!/bin/bash
PERSON=$(whoami)
echo -e "Hey ${PERSON}! I am Charlien"

DETAILS=$(uname -a)
echo -e "You're running this script on:n${DETAILS}n"

DATES=$(date)
echo -e "The script is being run on:n${DATES}n"

CREATE=$(touch $(date +"%d%m%Y").txt)
echo -e "A text file logging this run is created.${CREATE}n"

LOCATION=$(ls 
  -l *txt)
echo -e "Saved text file at: ${LOCATION}"

У наведеному вище сценарії whoami команда повертає ім'я користувача поточного користувача. The uname -a повертає системну інформацію, і date повертає поточний час і дату.

Примітка: Ми можемо ланцюгово призначати змінні, додаючи кілька команд в один вкладений виклик. The CREATE змінна містить вихідні дані touch яка, у свою чергу, створює файл і встановлює ім’я файлу для виводу date +"%d%m%Y команда

Ознайомтеся з нашим практичним практичним посібником із вивчення Git з передовими методами, прийнятими в галузі стандартами та включеною шпаргалкою. Припиніть гуглити команди Git і фактично вчитися це!

Нарешті, ми додаємо a multiline концепція призначення змінної команди шляхом додавання зворотної косої риски () між ls команда -l прапорець для відображення лише текстових файлів за допомогою *.txt. Зворотний слеш є символом екранування, який інформує оболонку не інтерпретувати наступний символ.

У echo ми додали команду -e прапор для використання спеціального символу, тобто n (новий рядок), щоб надрукувати вивід у новому рядку.

Після виконання скрипта ми отримуємо такий результат:

$ ./variable.sh

Висновок

У цьому короткому посібнику ми розглянули, як можна встановити вихід команди на змінну в Bash. Ми розглянули різницю між синтаксисом для підміна команд, зазначивши покращення читабельності $(command) над заміною на основі зворотної галочки. Потім ми розглянули кілька прикладів як простого призначення, так і ланцюжкового/вкладеного призначення виводу.

Часова мітка:

Більше від Stackabuse