Bash Как выполнить команду в переменной?

Bash How Execute Command Variable



Сценарии Bash можно создавать различными способами, и большинство из нас знакомо с выполнением простых команд в сценариях Bash. Однако эти команды также могут быть инкапсулированы в переменные в Bash. Этот процесс известен как подстановка команд и обычно используется для хранения вывода команды в переменной, чтобы вам не приходилось явно запускать эту команду снова и снова, вместо этого вы можете просто получить доступ к этой переменной, чтобы получить результат этой команды. когда угодно. В этой статье мы покажем вам, как это можно сделать.

Примечание. Все описанные ниже сценарии были реализованы в Ubuntu 20.04. Однако они будут работать точно так же и с любой другой разновидностью Linux.







Метод выполнения команды в переменной в Bash:

Для демонстрации метода выполнения команды в переменной в Bash мы представим вам три различных сценария, а именно:



Выполнение команды echo, хранящейся в переменной:

Это простейший сценарий, в котором наша цель - выполнить команду echo, которая хранится в переменной. Чтобы это произошло, вам нужно будет выполнить ряд шагов, упомянутых ниже:



Шаг №1: Создание сценария Bash:

Вы должны создать Bash Script в своей домашней папке, для которой вам нужно щелкнуть значок диспетчера файлов, как вы можете видеть на следующем изображении:





Теперь найдите любое место в своей домашней папке и щелкните его правой кнопкой мыши, чтобы открыть меню. Выберите в этом меню опцию «Новый документ», а затем выберите опцию «Пустой документ» во вложенном каскадном меню. В результате в вашей домашней папке будет создан новый документ. Теперь переименуйте этот вновь созданный документ с любым именем по вашему выбору, за которым следует расширение .sh. В нашем случае мы назвали его CommandVar.sh.



Чтобы написать сценарий Bash в этом файле, дважды щелкните его, чтобы открыть, а затем введите сценарий, показанный на изображении ниже, в свой файл Bash. Здесь первая строка сценария, т.е. #! / Bin / bash, показывает, что этот файл на самом деле является файлом Bash. Затем мы создали переменную с именем test и присвоили ей значение $ (эхо, привет!). Всякий раз, когда вы хотите сохранить команду в переменной, вы должны ввести эту команду, перед которой стоит символ $. В этом случае мы хотели сохранить команду echo в переменной test, поэтому мы просто набрали команду echo, за которой следовало случайное сообщение, заключили ее в круглые скобки и поместили перед ней символ $. Итак, теперь, если мы хотим выполнить эту команду echo, нам нужно будет получить доступ к тестовой переменной. Поэтому, чтобы убедиться, что команда echo, хранящаяся в переменной test, может быть успешно выполнена или нет, мы распечатали вывод тестовой переменной на терминале, используя другую команду echo. После ввода этого скрипта вам необходимо сохранить файл и закрыть его.

Шаг № 2: Выполнение сценария Bash через терминал:

Теперь вам нужно выполнить этот скрипт через терминал. Итак, откройте терминал в Ubuntu 20.04 и введите в нем следующую команду:

трепатьCommandVar.sh

Когда вы нажмете клавишу Enter, чтобы выполнить эту команду, вы сможете увидеть следующий вывод на своем терминале. Здесь выделенная часть вывода - это вывод команды echo, которая была сохранена в переменной test.

Выполнение команды seq, хранящейся в переменной:

В этом сценарии мы напечатаем последовательность чисел с помощью команды seq, хранящейся в переменной. Чтобы это произошло, мы изменим созданный выше сценарий Bash, выполнив следующие действия:

Шаг №1: изменение созданного выше сценария Bash:

Откройте файл Bash, созданный описанным выше методом, и введите в него следующий скрипт. Здесь мы создали переменную с именем sequence. Наша цель - напечатать числа от 1 до 10, используя команду seq. Для этого мы присвоили переменной последовательности значение $ (seq 1 10). Вы также можете указать любой другой диапазон чисел по вашему выбору, если хотите. Первое число после команды seq указывает нижнюю границу последовательности, тогда как второе число относится к верхней границе. После ввода этого сценария сохраните файл и закройте его.

Шаг №2: Выполнение измененного сценария Bash через терминал:

Теперь выполните свой сценарий Bash таким же образом, как описано выше, и вы сможете увидеть указанную последовательность на своем терминале, как показано на изображении ниже:

Выполнение команды «pwd», хранящейся в переменной:

Вы также можете распечатать свой рабочий каталог, используя команду pwd, хранящуюся в переменной. Чтобы продемонстрировать это, мы еще раз изменим созданный выше сценарий Bash, выполнив шаги, указанные ниже:

Шаг №1: изменение созданного выше сценария Bash:

Откройте файл Bash, который вы только что изменили, и введите в него сценарий, показанный на следующем изображении. В этом скрипте мы создали переменную с именем working_directory и присвоили ей значение $ (pwd). Команда pwd просто сохранит свой вывод, то есть текущий рабочий каталог, в переменной working_directory. Чтобы убедиться, что команда pwd была выполнена правильно или нет, мы напечатали значение переменной working_directory на терминале с помощью команды echo. Теперь сохраните этот файл, а затем закройте его после ввода в него измененного сценария Bash.

Шаг №2: Выполнение измененного сценария Bash через терминал:

Теперь выполните этот сценарий Bash точно так же, как описано выше. Результат этого сценария Bash покажет вам текущий рабочий каталог. Выделенная часть вывода фактически является выводом команды pwd.

Заключение:

Эта статья дает очень хорошее представление о том, как вы можете выполнить команду, которая хранится в переменной в Bash и может получить тот же результат, что и если бы вы выполняли команду независимо.