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

 

Windows-приложения #18 – Pic Collage

Продолжаем нашу рубрику об интересных приложениях для Windows. В прошлый раз мы рассказывали о...
>>>

Обзор Super Mario 3D All-Stars — Марио много не бывает

Независимо от того, как вы относитесь к жанру платформеров и серии игр про самого...
>>>

Вспоминая невоспетых героев видеоигровой истории. Обзор мини-сериала «Рекорд» (High Score)

В последние годы Netflix открыл для себя новый источник несметных богатств – документальные мини-сериалы....
>>>

Презентация Apple Time Flies глазами сварливого человека: Watch Series 6, Watch SE, iPad, Fitness+ и One

Позади первая из серии главных осенних событий техноиндустрии, презентация Apple Time Flies. Мы не...
>>>

Windows-приложения #17 – Evernote

Продолжаем знакомиться с интересными приложениями для Windows. Гвоздем сегодняшней программы стало популярное приложение-планировщик Evernote,...
>>>

Обзор ASUS ROG Zephyrus S15 GX502LXS. Как прокачалась сталь

Насколько же приятно наблюдать, как эволюционирует техника за 12 месяцев. Одна ротация Земли вокруг…...
>>>

Обзор гарнитуры HyperX Cloud Stinger S. Жаль, как оса

Когда берёшь в руки продукт вроде гарнитуры HyperX Cloud Stinger S, понимаешь, чем заработана...
>>>

Обзор возможностей Android 11: важнейшие изменения в операционной системе Google

Новый Android 11 выходит по плану. То есть, уже скоро он официально появится на...
>>>