- Запуск скрипта sh в Linux
- Как работают скрипты
- Запуск скрипта sh в Linux
- Выводы
- Как запустить Bash скрипт в Linux
- Подготовка
- Запустить Bash скрипт из пути к скрипту
- Запустить Bash скрипт, используя bash
- Выполнить скрипт Bash, используя sh, zsh, dash
- Запуск скрипта Bash из любого места
- Запуск Bash скриптов из графического интерфейса
- Заключение
- How to Create and Execute Bash Scripts in Linux
- What Is Bash Scripting?
- How to Create a Bash Script on Linux
- Creating a New File
- Adding Commands
- How to Execute the Bash Script
- From the Terminal
- Using the GUI
- The Power of Bash Scripting
Запуск скрипта sh в Linux
Вся сила Linux в использовании терминала. Это такая командная оболочка, где вы можете выполнять различные команды, которые будут быстро и эффективно выполнять различные действия. Ну впрочем, вы наверное это уже знаете. Для Linux было создано множество скриптов, которые выполняются в различных командных оболочках. Это очень удобно, вы просто объединяете несколько команд, которые выполняют определенное действие, а затем выполняете их одной командой или даже с помощью ярлыка.
Но у новичков может возникнуть вопрос — как запустить скрипт в Linux, что для этого нужно сделать, что будет происходить и какие команды нужно выполнить. Но сначала нужно рассмотреть как работают скрипты и что такое исполняемость.
Как работают скрипты
В Linux почти не используется расширение файла для опережения его типа на системном уровне. Это могут делать файловые менеджеры и то не всегда. Вместо этого, используются сигнатуры начала файла и специальные флаги. Система считает исполняемыми только те файлы, которым присвоен атрибут исполняемости.
Теперь о том, как работают скрипты. Это обычные файлы, которые содержат текст. Но если для них установлен атрибут исполняемости, то для их открытия используется специальная программа — интерпретатор, например, оболочка bash. А уже интерпретатор читает последовательно строку за строкой и выполняет все команды, которые содержатся в файле. У нас есть несколько способов выполнить запуск скрипта linux. Мы можем запустить его как любую другую программу через терминал или же запустить оболочку и сообщить ей какой файл нужно выполнять. В этом случае не нужно даже флага исполняемости.
Запуск скрипта sh в Linux
Сначала рассмотрим пример небольшого sh скрипта:
Вторая строка — это действие, которое выполняет скрипт, но нас больше всего интересует первая — это оболочка, с помощью которого его нужно выполнить. Это может быть не только /bin/bash, но и /bin/sh, и даже /usr/bin/python или /usr/bin/php. Также часто встречается ситуация, что путь к исполняемому файлу оболочки получают с помощью утилиты env: /usr/bin/env php и так далее. Чтобы выполнить скрипт в указанной оболочке, нужно установить для него флаг исполняемости:
Мы разрешаем выполнять запуск sh linux всем категориям пользователей — владельцу, группе файла и остальным. Следующий важный момент — это то место где находится скрипт, если вы просто наберете script.sh, то поиск будет выполнен только глобально, в каталогах, которые записаны в переменную PATH и даже если вы находитесь сейчас в той папке где находится скрипт, то он не будет найден. К нему нужно указывать полный путь, например, для той же текущей папки. Запуск скрипта sh в linux:
Если вы не хотите писать полный путь к скрипту, это можно сделать, достаточно переместить скрипт в одну из папок, которые указаны в переменной PATH. Одна из них, которая предназначена для ручной установки программ — /usr/local/bin.
cp script.sh /usr/local/bin/script.sh
Теперь вы можете выполнить:
Это был первый способ вызвать скрипт, но есть еще один — мы можем запустить оболочку и сразу же передать ей скрипт, который нужно выполнить. Вы могли редко видеть такой способ с bash, но он довольно часто используется для скриптов php или python. Запустим так наш скрипт:
А если нам нужно запустить скрипт на php, то выполните:
Вот так все просто здесь работает. Так можно запустить скрипт как фоновый процесс, используйте символ &:
Даже запустить процесс linux не так сложно.
Выводы
Как видите, запуск скрипта sh в linux — это довольно простая задача, даже если вы еще плохо знакомы с терминалом. Существует действительно много скриптов и некоторые из них вам возможно придется выполнять. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как запустить Bash скрипт в Linux
Как системный администратор, вполне вероятно, что вы написали несколько сценариев Bash для автоматизации вашей работы. Например, вы можете запускать сценарии Bash для резервного копирования вашей работы или для регистрации некоторых событий, происходящих на вашем сервере.
Скрипты Bash, как и скрипты, написанные на других языках программирования, могут запускаться различными способами.
В этой статье мы расскажем о всех способах запуска скрипта Bash в Linux.
Подготовка
Прежде чем вы сможете запустить ваш скрипт, вам нужно, чтобы ваш скрипт был исполняемым. Чтобы сделать исполняемый скрипт в Linux, используйте команду chmod и присвойте файлу права execute . Вы можете использовать двоичную или символическую запись, чтобы сделать ее исполняемой.
$ chmod u+x script $ chmod 744 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, вы должны установить в проводнике Ask what to do для исполняемых файлов.
Закройте это окно и дважды щелкните файл скрипта, который вы хотите выполнить.
При двойном щелчке вам предлагаются различные варианты: вы можете выбрать запуск скрипта (в терминале или нет) или просто отобразить содержимое файла.
В этом случае мы заинтересованы в запуске этого скрипта в терминале, поэтому нажмите на эту опцию.
Успех! Ваш скрипт был успешно выполнен
Заключение
Из этого руководства вы узнали, как легко запускать Bash скрипты в своей системе, указав путь к скрипту или интерпретаторы, доступные на вашем хосте. Вы узнали, что можете сделать это еще проще, добавив путь к скрипту в переменную среды PATH или используя существующие функции в пользовательском интерфейсе GNOME.
How to Create and Execute Bash Scripts in Linux
Shell scripts can help you automate boring, repetitive tasks on Linux. Here’s how you can easily create and run a Bash script on your system.
Readers like you help support MUO. When you make a purchase using links on our site, we may earn an affiliate commission. Read More.
Shell scripts are a great way to automate repetitive tasks on Linux. You can write Bash scripts that perform system-related tasks such as installing software, adding new users, dynamically configuring the desktop, just to name a few.
But what’s the prerequisite? You should have in-depth knowledge of the Bash shell and its commands, including how to wrap these commands in a script—and the most important—how to run the script.
Here’s how you can create and execute Bash scripts on Linux.
What Is Bash Scripting?
A script is a sequence of commands intended to perform a specific operation, which would otherwise be done manually by a user. Generally, the commands included in a script are related to a shell, and the umbrella term for writing such scripts is «shell scripting.»
Linux boasts a variety of shells that users can install and configure. The most prominent ones are Bash, Zsh, and fish; writing a script comprising Bash commands is known as Bash scripting.
Apart from Bash scripts, there are several other types of scripts as well. For example, Python scripts, Ruby scripts, Perl scripts, PHP scripts, etc.
How to Create a Bash Script on Linux
If you want to learn how to write Bash scripts on Linux, all you need is a text editor (and a dash of persistence).
Creating a New File
To get started with scripting, create a new file with the extension «.sh». You can do so easily using the touch command.
Open the newly created file with any text editor of your choice. It can be a GUI-based editor like Visual Studio Code or a terminal-based one like Vim or nano.
To edit the file with Vim, run the following command:
Adding Commands
Writing a Bash script is as simple as adding words to a text file. But of course, you need to know which words are valid (interpreted by the command shell), and which aren’t.
For the purpose of this guide, let’s add the following code to the script, which displays your username and the specified string on execution.
#!/bin/bash
echo $USER
echo "Hello World"
Once you’re done with writing the commands, save and exit the file to proceed.
Since a Bash script is a collection of Linux commands, any command you run in the terminal can be included in the script. Some examples include find, grep, man, ls, cd, etc.
How to Execute the Bash Script
Unlike other scripting languages, you don’t need to install a compiler (or interpreter) for Bash. Every Linux distro ships with the Bash shell by default, and as a result, has everything you need to execute your scripts.
From the Terminal
The most common way to run Bash scripts is using the terminal. All you have to do is grant execute permissions to the script file using the chmod command.
Now, to execute the script, run:
The output will display your username and the string «Hello World,» as specified in the script file.
Using the GUI
If you’re repelled by the idea of using the command line and want a graphical approach to the whole execution process, well, you’re in luck.
Similar to what we did before, you’ll have to grant execute permissions to the file first. To do that, right-click the file and select Properties from the context menu. Locate the option that says Execute or Is executable and check off the box next to it, or enable it, depending on the desktop environment you’re using.
Then, simply double-click the script file and select Run in the terminal or a similar option to execute the Bash script.
The Power of Bash Scripting
Most command-line utilities on Linux make use of scripts, which are a sequence of commands that execute in a particular order to perform a specific task. Knowledge of shell scripting can be a great addition to your technical skillset, and makes automating tasks way easier for you, as a Linux power user.