Execute linux script file

Запуск скрипта 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:

Читайте также:  Adobe flash player on linux firefox

Если вы не хотите писать полный путь к скрипту, это можно сделать, достаточно переместить скрипт в одну из папок, которые указаны в переменной PATH. Одна из них, которая предназначена для ручной установки программ — /usr/local/bin.

cp script.sh /usr/local/bin/script.sh

Теперь вы можете выполнить:

Это был первый способ вызвать скрипт, но есть еще один — мы можем запустить оболочку и сразу же передать ей скрипт, который нужно выполнить. Вы могли редко видеть такой способ с bash, но он довольно часто используется для скриптов php или python. Запустим так наш скрипт:

А если нам нужно запустить скрипт на php, то выполните:

Вот так все просто здесь работает. Так можно запустить скрипт как фоновый процесс, используйте символ &:

Даже запустить процесс linux не так сложно.

Выводы

Как видите, запуск скрипта sh в linux — это довольно простая задача, даже если вы еще плохо знакомы с терминалом. Существует действительно много скриптов и некоторые из них вам возможно придется выполнять. Если у вас остались вопросы, спрашивайте в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

How To Run A Bash Script

Bash scripts are programs that help automate tasks. Scripts store commands that often go together, such as updates and upgrades, to accomplish certain tasks automatically. After creating such programs, there are various ways to run the file and execute the commands through the command line or terminal.

Follow this tutorial to learn how to run a Bash script using various methods.

How to Run a Bash Script

  • Access to the command line/terminal (CTRL+ALT+T).
  • Essential Linux terminal commands. If you need a refresher, check out our Linux commands cheat sheet.
  • A Bash script file.
  • A text editor, such as Vi/Vim or Nano.

Run Bash Script Using sh

To run a Bash script using sh , enter the following command in the terminal:

sh script.sh terminal output

The sh is known as the Bourne shell, and it was the default command line interpreter for older systems. Although not that popular anymore, modern Unix-like systems include the interpreter under /bin/sh.

However, the /bin/sh often links to a different interpreter. To check which interpreter sh uses, run the following command:

Читайте также:  Linux bash if eval

sh link dash terminal output

The output shows the symbolic link for the sh interpreter. Commonly, Debian and Debian-based systems (such as Ubuntu) link sh to dash, whereas other systems link to bash.

Note: Refer also to our guide that explains how the Bash read command works through various examples.

Run Bash Script using bash

To run a Bash script using bash , enter:

bash script.sh terminal output

The bash interpreter is an acronym of Bourne Again Shell and a replacement for the Bourne Shell ( sh ). The interpreter resides in /bin/bash.

Run Bash Script using source

The source command executes commands from a specified file, including Bash scripts. The general syntax is:

source script.sh . script.sh 

run bash script from source terminal output

The path parameter is optional. In that case, the command searches through the directories in the $PATH environment variable. However, if the file is not in $PATH , the command searches the current directory for the file.

Use this method for running Bash scripts within other Bash scripts.

Note: Check out our post on Bash declare statement to learn how to work with variables and their attributes.

Run Bash Script by Specifying the Path

Another way to run a script is to specify the path. This method requires the file’s permission to be executable. Without changing the access rights, you get a Permission denied error.

To make a file executable, run the following command in the terminal:

Now, execute the script with:

Different path syntaxes assume the script’s location or your current location:

run script from absolute path

run script from home folder

  • The shorthand $HOME path requires the script to be in /home/ , regardless of your current location:

run script in home folder

Changing the permissions to executable and specifying the path is the most common and versatile method for running Bash scripts.

Note: Learn how to write Bash for loop scripts to save time with repeating processes.

Run Bash Script with Arguments

If a Bash script requires arguments, provide the argument after the script name. All methods for running scripts from the terminal accept user input arguments in the same way.

./script.sh Hello bash script.sh Goodbye 

run script with arguments

For multiple arguments, separate each by a space.

Читайте также:  Как включить вай фай в линуксе

Note: Learn how to increment or decrement bash variables during script execution.

Run Bash Script using the GUI

To run scripts using the GUI, change the behavior of the file explorer before running the script.

1. Open Files and click on the top-right icon.

files icon

2. Select Preferences from the list.

files preferences

3. Click the Behavior tab in the menu. Then, select Ask what to do in the Executable Text Files section.

preferences ask what to do option

4. Close the menu and double-click the script file. A prompt appears with several options.

run script in terminal gui

Select the Run in Terminal option to run the script.

Note: If the terminal closes immediately, add $SHELL to the end of the script to keep the program open.

Run Bash Script from Anywhere

To run a script from anywhere, follow the instructions below.

1. Open the .bashrc file using a text editor:

2. Export the script’s path to the $PATH environment variable by adding the following line to the .bashrc file:

export PATH="/home/kb/scripts/:$PATH"

Add the line at the very end of the file.

4. Source the .bashrc file to apply the updates:

5. Lastly, run the script in the terminal from any location by stating the script’s name:

script.sh terminal output

The method permanently adds the path for the script, making it available in any terminal session.

Note: Learn more about Bash by referring to our post on the Bash let command used for evaluating arithmetic expressions.

After reading this guide, you know how to run a Bash script using various methods. Check out the best Linux text editors to start coding your scripts or learn how to write Bash functions.

If a shell script runs into problems during its execution, resulting in an error signal that interrupts the script unexpectedly it may leave behind temporary files that cause trouble when a user restarts the script. Using Bash trap Command, you can ensure your scripts always exit predictably.

Milica Dancuk is a technical writer at phoenixNAP who is passionate about programming. Her background in Electrical Engineering and Computing combined with her teaching experience give her the ability to easily explain complex technical concepts through her content.

Comments are an essential part of programming. Learn how to use comments and the best practices to apply to your Bash script commenting techniques.

Источник

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