How to execute sh files linux

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

Читайте также:  Red hat linux problems

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

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

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

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

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

Выводы

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

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

Источник

How to Run .SH Files in Linux & Windows Systems

run sh files windows and linux

A .SH file is a simple text file that contains the commands and a little logic to it. There are several ways to run a .SH file. A .SH file is very similar to the batch file of the Windows operating system and can be run in the Linux-based operating system. It is also possible to run .SH file in Windows 10 using Windows Subsystem for Linux.

In this tutorial, we will show you how to run .SH files in Linux and Windows 10 systems.

Run .SH Files in Linux

In this section, we will show you how to run .SH file in Linux with examples.

Basic Steps to Run .SH Files

Before running .SH files, you will need to give execute permission on your file that you want to run. You can set execute permission with the following command:

Next, you can run your .SH file by running the following command:

Run .SH file as a root User

In some cases, you will need root access to install application or make system level modifications with .SH file. You can run .SH file as a root user by using the sudo command as shown below:

Type your user password and hit Enter to execute the .SH file.

You can also use su command to login with superuser and execute the .SH file.

First, switch the user to root with the following command:

Next, run .SH file with the following command:

Run .SH file with CHMOD Command

You can also use chmod command to run .SH file. First, set the execute permission on your file with the following command:

Next, run .SH file with the following command:

If your file is located at /opt directory then run the following command:

Run .SH file with GUI Method

You can also run .SH file with Graphical user interface. To do so, first right click on the file that you want to run as shown below:

Next, click on the Properties. You should see the following screen:

Next, click on the permisssion tab and select Allow executing file as a program as shown below.

Next, double click on the file to execute the file.

Run .SH files in Windows 10

There are several ways to run .SH files in Windows 10 operating systems.

Читайте также:  Scan usb devices linux

Run .SH file with WSL

WSL stands for “Windows Subsystem for Linux” is a compatibility layer for running Linux binary executables natively on Windows 10 and Windows Server 2019. It allows you to run native Linux command-line tools directly on Windows.

First, you will need to install WSL in your Windows 10 systems.

To do so, go to Settings > Update & Security > For Developers and check the Developer Mode radio button. Then, search for “Windows Features”, choose “Turn Windows features on or off”.

Next, scroll down, find WSL, check the box and install it. After installing WSL, you will need to restart your system to finish the installation.

Next, open the Command prompt, change the directory where yourfilename.sh is located and type bash yourfilename.sh to execute your file as shown below:

Run .SH File with Ubuntu on Windows 10

If you want to run .SH file in a Linux environment on Windows 10 then you will need to install Ubuntu or any other Linux distros on Windows 10.

You can install Ubuntu on Windows 10 by following the below steps.

First, go to Settings > Update & Security > For Developers and check the Developer Mode radio button. Then, search for “Windows Features”, choose “Turn Windows features on or off”.

Next, scroll down, find “Windows Subsystem for Linux (Beta)”, check the box and click Ok to install it. Once the installation has been finished, you will need to restart your system to finish installing the requested changes.

Next, open your Command prompt, type bash and hit Enter to install Ubuntu on Windows 10. Once the installation has been finished you should see the following screen:

Now, change the directory with cd command to the directory where yourfilename.sh is located and hit Enter to run the file as shown below:

Conclusion

In the above tutorial, we learned how to run .SH files in Linux and Windows 10 operating systems. I hope you have now enough knowledge to run .SH files in Linux and Windows 10.

Recent Posts

  • Forcepoint Next-Gen Firewall Review & Alternatives
  • 7 Best JMX Monitoring Tools
  • Best PostgreSQL Backup Tools
  • Best CSPM Tools
  • Best Cloud Workload Security Platforms
  • Best Automated Browser Testing Tools
  • Event Log Forwarding Guide
  • Best LogMeIn Alternatives
  • Citrix ShareFile Alternatives
  • SQL Server Security Basics
  • Cloud Security Posture Management Guide
  • Cloud Workload Security Guide
  • The Best JBoss Monitoring Tools
  • ITL Guide And Tools
  • 10 Best Enterprise Password Management Solutions

Источник

How to execute sh files linux

It’s rather copy to Desktop folder and make it executable than install.
.sh is shell script. It doesn’t need to be «installed».

Step 3 is wrong. with cd ~/Desktop you won’t change to /Desktop directory. You go to the $HOME/Desktop which is completly different game.

Anyway, you can put sh script anywhere, where you are able to write. There is no need to have it on the Desktop.

@IcyFlame It’s up to you if you want to run your *.sh file outside the terminal.

Mint updated Firefox to the latest version (12), but failed to change its language from English to Spanish, as all other apps and desktop items did flawlessly.

After 20 minutes of fruitlessly searching some terminal command that would force Firefox to acknowledge the language change, I opted to manually download the darn thing and now I’m faced with the following:

Читайте также:  Linux up one level

$sudo sh run-mozilla.sh
—> run-mozilla.sh: Cannot execute .

Setup:
Firefox 12 for Linux, downloaded from www.firefox.com
Linux Mint 12 64-bit, using GNOME Classic / MATE

NOTE: Everybody is politely asked to please refrain from replying with any of the customary, albeit totally useless, Linux replies:
— «Why not use instead X app?» (because I want THIS app. Period.)
— Presenting another Distro’s (or version’s) positive outcome. Pointless.
— Flaming comments (they will be prosecuted with no exceptions)
— Redirecting to an external link (I too used google, so no thanks.)
— Redirect to use man pages (see previous.)
— Try to showoff by asking for a cryptic system log output. 99% of the time they never produce a *usable* follow-up answer. It’s a fact.

It is really weird that I didn’t have to do this when I was using openSUSE, but I had to do this with the LMDE. But, Mint is a much better OS than SUSE, so I am not complaining.

Источник

How do I run .sh scripts?

Whenever I open a .sh file, it opens it in gedit instead of the terminal. I can’t find any option similar to Right ClickOpen WithOther Application.Terminal. How do I open this file in the terminal?

You shouldn’t use extensions on scripts. At some point in the future, you may find that a different language is more suitable to do the task your current script is doing. And then you have a problem. Do you keep the old name, with a completely misleading extension, or do you rename it, possibly having to edit alot of places where your script is used?

You don’t need the file extension. It’s nice to have but is not needed. The OS doesn’t look at the file extension. It looks at the data

16 Answers 16

Give execute permission to your script:

chmod +x /path/to/yourscript.sh 

Since . refers to the current directory: if yourscript.sh is in the current directory, you can simplify this to:

Actually, you can use . /path/to/yourscript.sh if the script have to set up some environment variables.

Nobody mentions the traditional: ./path/to/yourscript.sh (without the space after . )? I find that one is the simplest and easiest to use. But anyways, here is my alternative that should do almost the same as ./ would, though I don’t see why you wouldn’t use ./ : (FILENAME=~/rem4space.sh;SLL=$(cat $FILENAME|head -1|sed ‘s:^#!\(.*\):\1:g’);[ ! -z $SLL ] && exec $SLL $FILENAME;sh $FILENAME) . edit FILENAME to your liking. Also note that sh will be used if there is no alternative.

You need to mark shell scripts as executable to run them from the file manager:

  1. Right click on your .sh file and select Properties: enter image description here
  2. In the Permissions tab, check Allow executing file as program: enter image description here
  3. Close the Properties window and double-click the file. A dialog will pop up giving you the option to run the script in a terminal: enter image description here

This isn’t working in Ubuntu 13.04. Keeps opening in gedit anyway, never asks me to execute. Edit: Nvm, imjustmatthew answers this.

Before using this we need to make the file permission for execute using chmod. chmod +x filename.sh or chmod 755 filename.sh

Источник

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