ASUS ZenBook
Статьи Linux Гик-чтиво #3 - командная оболочка и запуск скриптов bash

Гик-чтиво #3 – командная оболочка и запуск скриптов bash

-

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

Предположим, что мы его создали в текстовом редакторе с графическим интерфейсом, дав ему имя test.sh, и сохранили в домашней директории пользователя user. Тогда путь к скрипту будет такой:

/home/user/test.sh

Но простой ввод этой команды в консоли ни к чему не приведет. Так как оболочка будет думать, что мы запускаем исполняемый файл из домашней директории, которым test.sh изначально не является. То есть, нам необходимо дать права файлу на исполнение или в начале команды указать программу, которая выполнит наш скрипт. Для нашего примера это будет командный интерпретатор bash. Таким образом команда будет выглядеть так:

bash /home/user/test.sh

То же самое мы можем проделать и для других интерпретируемых языков, например, lua. Даже если мы воспользуемся первым способом и сделаем lua-файл исполняемым. Но как тогда командный интерпретатор выполнит этот скрипт, ведь lua и sh являются разными языками? Очень просто: в таких скриптах первой строкой идет объявление программы-интерпретатора, к которой командная оболочка обратится за выполнением:

#!/bin/sh
#!/usr/bin/lua
#!/usr/bin/perl -w

Помните упоминание подобной строки из первого материала рубрики?

Но прежде, чем писать “Продолжение следует…”, стоит упомянуть о проблеме, с которой вы можете столкнуться при вводе адреса в командной оболочке. Дело в том, что если в адресе будут встречаться пробелы, то его необходимо поместить в кавычки:

'/home/new user/test.sh'

Можно в одинарные, но если в адресе попадается апостроф, тогда придется в двойные:

"/home/it's a new user/test.sh"

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

Все исполняемые файлы, с которыми можно работать из любой директории, как упомянутые ранее uname и tree, находятся в директории /bin или /usr/bin (все зависит от дистрибутива). Таким образом, если вы хотите также запускать свой скрипт, то необходимо переместить его в эти директории.

Продолжение следует.

Читайте далее: Гик-чтиво #4 – сокращения в командной оболочке

LEAVE A REPLY

enter your comment
your name

 

Путь от оболочки к платформе или “что будет с Huawei”

Начну издалека. Недавно я понял, что очень стар по меркам индустрии электроники. И многое...
>>>

Обзор монитора AOC AG272FCX6. Сбалансированный 165-герцовый красавец

Эх, помню старые, но не очень добрые времена, когда Full HD и 60 FPS...
>>>

Простые советы, как уберечь свой смартфон от перегрева в жару

Жара плохо влияет не только на людей, но и на электронные устройства - смартфоны,...
>>>

Обзор Tronsmart Onyx Free: TWS-гарнитура с УФ-стерилизацией

Сегодня я расскажу о новой полностью беспроводной гарнитуре Tronsmart Onyx Free, которая может порадовать...
>>>

Обзор F1 2020 — Очередной поул

Лицензированные игры, основанные на реальном спорте, редко радуют в последнее время. Микротранзакции, малозаметные нововведения...
>>>

Обзор спортивной Bluetooth-гарнитуры Crave Octane: Китаец с американским паспортом

Мне выпала возможность познакомиться с беспроводной гарнитурой Crave Octane, так что сегодня будем с...
>>>

Обзор Apple iPhone SE (2020): Купить недорогой айфон? Это реально!

Компания Apple представила 15 апреля этого года новую версию смартфона iPhone SE. До презентации...
>>>

Обзор XGIMI MoGo. Крутой портативный Android-проектор

Что, если я, надев очки и плащ Морфеуса, скажу вам, что вы можете приобрести...
>>>