Как открыть файл sh в Linux

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

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

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

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

$ vim myscript.sh

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

$ chmod +x myscript.sh

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

$ ./myscript.sh

или

$ bash myscript.sh

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

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

$ vim test.sh

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

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

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

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

$ ./test.sh

И видим:

bash: ./test.sh: Permission denied

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

$ chmod +x test.sh

Запустим его снова:

$ ./test.sh

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

$ /home/user/test.sh

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

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

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

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

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


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.


Unlix © Все права защищены 2019

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!