Запуск исполняемого файла linux bash

Выполнение команд через shell-скрипты в Linux

Оболочка — это интерпретатор командной строки, который позволяет пользователю взаимодействовать с системой. Он отвечает за получение входных данных от пользователя и вывод данных.

Сценарии оболочки — это серия команд, записанных в порядке выполнения. Сценарии могут содержать функции, циклы, команды и переменные. Они упрощают сложные серии команд и повторяющиеся задачи.

В этом мануале мы разберем, как создавать и выполнять сценарии оболочки для командной строки в Linux.

Требования

  • Умение пользоваться терминалом.
  • Знание текстового редактора.
  • Знание команд: chmod, mkdir и cd.

Читайте также:

Начало работы

Скрипты оболочки нужно сохранять с расширением .sh.

Файл должен начинаться с шебанга (#!), чтобы система Linux понимала, какой интерпретатор использовать для сценария оболочки.

В этом мануале предполагается, что вы используете среду bash.

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

Создание и запуск базового shell-скрипта

Скрипт оболочки можно создать с помощью редактора vi, команды cat или текстового редактора.

Мы будем создавать с помощью vi:

Команда запустит редактор vi и создаст файл basic_script.sh.

Затем нажмите i на клавиатуре для запуска INSERT MODE. Добавьте следующие строки:

Скрипт запускает команды whoami и date. Команда whoami отображает активное имя пользователя, а date — текущую системную метку времени.

Чтобы сохранить и выйти из редактора vi:

Теперь можно запустить сценарий с помощью команды:

root Fri Jun 19 16:59:48 UTC 2020

Первая строка вывода соответствует команде whoami, а вторая команде date.

Можно запустить скрипт без указания bash:

Запуск файла таким образом может потребовать разрешение пользователя. Запуск с помощью bash не требует этого разрешения.

~bash: ./basic_script.sh: Permission denied

Команда bash filename требует только прав на чтение.

Команда ./filename запускает файл как исполняемый и требует разрешения execute.

Для выполнения сценария нужно обновить привилегии.

Эта команда применит chmod и дает права x (исполнение) текущему пользователю.

Использование переменных в скриптах

Скрипты могут включать пользовательские переменные. По мере увеличения размера сценариев важно иметь четко определенные переменные с информативными именами.

Читайте также:  All in one linux mail server

Добавьте в скрипт следующие строки:

#!/bin/bash # This is a comment # defining a variable GREETINGS="Hello! How are you" echo $GREETINGS

GREETINGS — это переменная, определенная с помощью символа $ (знак доллара). В строке, в которой переменным присваивается значение, не должно быть пробелов.

На экран выведется присвоенное переменной значение:

Как видите, переменная GREETINGS успешно определена в сценарии и доступна при запуске скрипта.

Чтение ввода из командной строки

Shell-скрипты можно сделать интерактивными с возможностью принимать ввод из командной строки. Сохранить ввод командной строки в переменной можно с помощью команды read.

Добавьте в скрипт следующие строки:

#!/bin/bash # This is a comment # defining a variable echo "What is your name?" # reading input read NAME # defining a variable GREETINGS="Hello! How are you" echo $NAME $GREETINGS

Переменная NAME принимает ввод из командной строки. Этот скрипт ожидает, пока пользователь введет значение NAME. Затем он выводит NAME и GREETINGS.

What is your name? 8host 8host Hello! How are you

В примере пользователь ввел значение 8host.

Определение функций

Пользователи могут определять свои функции в сценариях. Эти функции могут принимать несколько аргументов.

Добавьте в скрипт следующие строки:

#!/bin/bash #This is a comment # defining a variable echo "What is the name of the directory you want to create?" # reading input read NAME echo "Creating $NAME . " mkcd ()   mkdir "$NAME" cd "$NAME" > mkcd echo "You are now in $NAME"

Этот скрипт запрашивает имя каталога. Затем он c помощью mkdir создает требуемый каталог и переходит в него.

What is the name of the directory you want to create? test_dir Creating test_dir . You are now in test_dir

В данном примере мы ввели test_dir. Далее скрипт создаст новый каталог с этим названием. Наконец, скрипт перейдет из текущего рабочего каталога пользователя в test_dir.

Заключение

В этом мануале мы разобрали, как создавать и запускать скрипты оболочки для командной строки в Linux.

Подумайте о повторяющихся или отнимающих много времени задачах, которые вы часто выполняете – возможно, такие команды полезнее заменить скриптами.

Источник

Как запустить Bash скрипт в Linux

img

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

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

Как запустить Bash скрипт в Linux

В этой статье мы расскажем о всех способах запуска скрипта Bash в Linux.

Подготовка

Прежде чем вы сможете запустить ваш скрипт, вам нужно, чтобы ваш скрипт был исполняемым. Чтобы сделать исполняемый скрипт в Linux, используйте команду chmod и присвойте файлу права execute . Вы можете использовать двоичную или символическую запись, чтобы сделать ее исполняемой.

$ chmod u+x script $ chmod 744 script

Если вы не являетесь владельцем файла, вам необходимо убедиться, что вы принадлежите к правильной группе или что права доступа предоставлены «другой» группе в вашей системе.

В некоторых дистрибутивах ваш файл будет выделен другим цветом, когда он исполняемый.

script

Теперь, когда ваш файл исполняемый, давайте посмотрим, как можно легко запустить скрипт Bash.

Запустить Bash скрипт из пути к скрипту

Чтобы запустить Bash скрипт в Linux, просто укажите полный путь к скрипту и укажите аргументы, которые могут потребоваться для запуска Bash скрипта.

В качестве примера, скажем, у вас есть Bash-скрипт, расположенный в вашем домашнем каталоге.

Чтобы выполнить этот скрипт, вы можете указать полный путь к скрипту, который вы хотите запустить.

# Абсолютный путь $ /home/user/script # Абсолютный путь с аргументами $ /home/user/script "john" "jack" "jim"

Кроме того, вы можете указать относительный путь к скрипту Bash, который вы хотите запустить.

# Относительный путь $ ./script # Относительный путь с аргументами $ ./script "john" "jack" "jim"

Таким образом вы узнали, как легко запустить Bash-скрипт в своей системе.

Запустить Bash скрипт, используя bash

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

Кроме того, вы можете использовать sh , если в вашем дистрибутиве установлена утилита sh .

В качестве примера, скажем, вы хотите запустить скрипт Bash с именем script . Чтобы выполнить его с помощью утилиты bash , вы должны выполнить следующую команду

$ bash script This is the output from your script!

Выполнить скрипт Bash, используя sh, zsh, dash

В зависимости от вашего дистрибутива, в вашей системе могут быть установлены другие утилиты оболочки.

Bash — интерпретатор оболочки, установленный по умолчанию, но вы можете захотеть выполнить ваш скрипт с использованием других интерпретаторов. Чтобы проверить, установлен ли интерпретатор оболочки в вашей системе, используйте команду which и укажите нужный интерпретатор.

$ which sh /usr/bin/sh $ which dash /usr/bin/dash

Когда вы определили интерпретатор оболочки, который хотите использовать, просто вызовите его, чтобы легко запустить скрипт.

Запуск скрипта Bash из любого места

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

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

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

$ script This is the output from script!

Кроме того, вы можете изменить переменную среды PATH в вашем файле .bashrc и использовать команду source для обновления вашей текущей среды Bash.

$ sudo nano ~/.bashrc export PATH=":$PATH"

Выйдите из файла и используйте команду source для файла bashrc для внесения изменений.

$ source ~/.bashrc $ echo $PATH /home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Отлично! Теперь ваш скрипт может быть запущен из любой точки вашей системы.

Запуск Bash скриптов из графического интерфейса

Последний способ выполнения Bash скриптов — это использование графического интерфейса, в данном случае интерфейса GNOME.

GNOME

Чтобы запустить ваши скрипты с использованием GNOME, вы должны установить в проводнике Ask what to do для исполняемых файлов.

Ask what to do

Закройте это окно и дважды щелкните файл скрипта, который вы хотите выполнить.

При двойном щелчке вам предлагаются различные варианты: вы можете выбрать запуск скрипта (в терминале или нет) или просто отобразить содержимое файла.

В этом случае мы заинтересованы в запуске этого скрипта в терминале, поэтому нажмите на эту опцию.

Варианты

Успех! Ваш скрипт был успешно выполнен

Заключение

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

Источник

Запуск исполняемого файла linux bash

Новые пользователи Linux часто задают вопросы: Как запустить исполняемый файл в Linux? Как выполнить файл. sh в Linux?

Bash – это оболочка, или интерпретатор командного языка, для операционной системы Linux. Это название является аббревиатурой от Bourne-Again SHell.

Как же запустить shell скрипт в Linux?

Откроем терминал. Обычно он вызывается комбинацией клавиш Ctrl+Shift+T. Используйте консольный текстовый редактор вроде vi/vim или nano чтобы создать shell скрипт в линукс:

Сделайте скрипт исполняемым

Запустите shell скрипт, написал в терминале:

Теперь давайте рассмотрим другой пример создания sh скрипта в Linux.

Создадим новый файл скрипта test.sh:

Нажмем i или Insert на клавиатуре, чтобы перейти в режим вставки текста. Скопируем туда или напишем следующее:

!/bin/bash
echo «Hello, $USER»
echo «Today is $(date)»
echo «Bye»

Чтобы сохранить файл, нажмем ESC, затем напишем 😡 и нажмем ENTER.

Попробуем запустить скрипт:

bash: ./test.sh: Permission denied

Ошибка появилась потому что мы не сделали файл исполняемым. Сделаем это. Как и выше, чтобы сделать файл sh в линукс исполняемым, выполним команду:

Мы пишем ./ потому что находимся в той же директории, где и расположен скрипт. Так же мы можем использовать полный путь для запуска из другого места. Например, если скрипт находится в директории /home/user/ то можно запустить так из любого места:

Что у нас есть в скрипте test.sh?

Первая строка #!/bin/bash указывает на интерпретатор, спомощью которого будет исполняться скрипт. В нашем случае это Bash.

Вторая строка использует глобальную переменную $USER, которая содержит имя текущего пользователя, от которого исполняется скрипт. Мы получим “Hello, user”, если нашего пользователя зовут user.

В третьей строке мы используем переменную, содержащую текущую дату и время – $(date).

И в четвертой мы просто выводим Bye.

Источник

Оцените статью
Adblock
detector