ASUS ZenBook
DLCompare.ru
Статьи 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

 

Состоялся релиз второго бойцовского талона Super Smash Bros. Ultimate. Что из себя представляет Минь Минь?

В самый разгар лета Nintendo порадовала нас, наконец, выходом первого бойца в рамках загадочного...
>>>

Подборка лучших игр для смартфонов Huawei и Honor из магазина AppGallery

Фирменный магазин AppGallery от компании Huawei развивается просто гигантскими темпами. В нем уже размещено...
>>>

Обзор Realme 6 — лучший в своем классе?

Сегодня я расскажу про смартфон Realme 6 от молодого бренда Realme. Последний находится под...
>>>

Обзор переиздания Star Wars Episode I: Racer — Татуинский дрифт

«Звёздные войны» – это, верьте или нет, сложно. О них спорят профессиональные критики, простые...
>>>

Обзор Assetto Corsa Competizione — Проехали

Это поколение видеоигр, которое подойдёт к концу уже в этом году, порадовало любителей автоспорта...
>>>

Обзор Acer Swift 3: новый ультрабук на Ryzen 5 4500U

Похоже, мир ноутбуков переживает своеобразную революцию. Еще пару лет назад о таком могли мечтать,...
>>>

Собираем прохладные ПК ASUS на жаркое лето! RGBитва – AMD vs Intel

Летняя распродажа в Steam в самом разгаре! Но не спешите тратить деньги, которые вы...
>>>

Опыт эксплуатации ASUS ZenBook Pro Duo – 3 месяца открытий

Целых три месяца я провел, пользуясь воистину прекрасным и несомненно инновационным ноутбуком ASUS ZenBook...
>>>