Huawei MateBook X Pro 2020
Статьи 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

 

Обзор ASUS ZenBook Flip S (UX371EA) – топовый трансформер

С линейкой портативных трансформеров ZenBook Flip я впервые познакомился где-то три года назад. Это...
>>>

LiDAR в iPhone 12 Pro: что это и для чего?

На Apple Event 2020 мы увидели целых четыре новых iPhone 12. Каждый из них...
>>>

Обзор умных UHD-телевизоров KIVI линейки 2020 года – 43U710KB (43″) и 55U710KB (55″)

В этом обзоре я протестирую новейшие UHD смарт-телевизоры KIVI 43U710KB (43") и 55U710KB (55"),...
>>>

Обзор Huawei Watch Fit: персональный тренер на запястье

У вас ограниченный бюджет, но ищете компактные "умные" часы с большим дисплеем и богатыми...
>>>

Обзор блока питания be quiet! Pure Power 11 600W

Вслед за кулером (на самом деле - нет) последовал блок. Это не древняя сказка...
>>>

Обзор TWS-наушников CaseGuru CGPods 5.0 – Водонепроницаемая гарнитура в пуленепробиваемом кейсе

Я могу примерно предугадать вашу реакцию после прочтения заголовка. CaseGuru? Кто это? Опять кто-то...
>>>

Аналитика по Apple Event: новые iPhone 12 и не только “глазами сварливого человека”

Компания Apple на специальном мероприятии представила новые iPhone 12 в четырех версиях - от...
>>>

13 лучших смартфонов на Snapdragon 865

Флагманским процессором Qualcomm Snapdragon 865 уже никого не удивить, потому что кроме дорогих флагманов...
>>>