что такое shell скрипт

Shell-скриптинг

Материал из Xgu.ru

Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Действия, которые пользователь выполняется в оболочке, можно записать в файл, а потом выполнять их как единое целое. Такой файл называется сценарием или скриптом командного интепретатора (shell script). В самом простейшем случае скрипты создаются для того, чтобы сохранить некоторую повторяющуюся последовательность действий и в будущем вызывать её одной командой. Это простейшая, но далеко не единственная область применения скриптов. Вообще, скрипт — главный инструмент для автоматизации управления операционной системой.

Многие вещи можно сделать средствами самого интерпретатора, но, как правило, работа выполняется с помощью программ операционной системы, которые используются и как управляющие механизмы (например, для работы с файлами), и как расширители возможностей интерпретатора, например, такие как sed и awk, которые помогают манипулировать текстовыми потоками.

Содержание

[править] Стиль

Стилистические и синтактические правила, которых рекомендуется придерживаться, при написании shell-скриптов (Bourne shell и bash):

[править] Вопросы и ответы

[править] Как сделать завершение скрипта при возникновении ошибки

По умолчанию скрипт не прерывается в случае возникновения ошибки при выполнении его команд.

Обрабатывать каждую ошибку вручную можно так:

Это не очень удобно, потому что команд, завершившихся с ошибкой, может быть очень много.

Можно сделать, что он будет завершаться, как только код выполнения командной строки [1] будет отличен от нуля.

Теперь, например, при выполнении команды false скрипт будет завершаться. С другой стороны,

не приведёт к завершению, а

Подробнее об этих и других способах обработки ошибок:

[править] Как в скрипте (bash) обратиться к последнему аргументу?

Если же эта конструкция не поддерживается, тогда нужно уже извращаться с eval, перебирать аргументы с помощью shift, одним словом, мудрить. Примеры вариантов решения: [1].

[править] Как узнать в каком каталоге находится текущий исполняемый скрипт?

Источник: [2] что такое shell скрипт. 32px Stackoverflow. что такое shell скрипт фото. что такое shell скрипт-32px Stackoverflow. картинка что такое shell скрипт. картинка 32px Stackoverflow. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

[править] Как сделать чтобы команда убивалась по таймауту?

Можно поставить программу timeout, которая это делает.

Если программы ставить не хочется, то можно использовать такой трюк:

Источник

Что такое bash / shell

И то, и другое — интерпретаторы командной строки в линуксе. То есть если вы откроете командную строку и введете любую команду, да хоть:

То именно интерпретатор ее расшифрует и скажет компьютеру «он хочет перейти в директорию /home». Компьютер ведь не понимает команды на русском / английском языке. Ему нужны байтики. Этим и занимается интерпретатор — переводом с «нашего» на «компьютерный» язык.

что такое shell скрипт. image loader. что такое shell скрипт фото. что такое shell скрипт-image loader. картинка что такое shell скрипт. картинка image loader. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Так что «cd /home» — это shell-команда! Или bash. Смотря какой интерпретатор установлен в вашей системе. В каждой операционной системе установлен интерпретатор по умолчанию. У них есть какие-то различия, но есть и набор базовых команд, которые понимают все: cd, mv, cp, ls… (в винде эти команды немного другие)

А что такое shell-скрипт тогда? Это просто текстовый документ, внутри которого написан набор команд! Это не обязательно должны быть «сложные» команды, которые делают что-то супер-навороченное. Это любые команды, которые вы выполняете в консоли.

Например, создадим скриптик, который создаст директорию и в ней файлик:

что такое shell скрипт. image loader. что такое shell скрипт фото. что такое shell скрипт-image loader. картинка что такое shell скрипт. картинка image loader. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

И даже если у такого файла не будет расширения вовсе, его можно будет запустить как скрипт:

Расширение .sh ставится для понимания человеком. Зашел в директорию:

— Ага, что тут у нас? Файлы sh, скрипты какие-то лежат.

Скрипты могут быть простые, а могут быть сложные. Вот, например, в одном проекте мы вначале вручную обновляли тестовые платформы. Для обновления надо:

Переподложить war-файл с приложением (лежат они в директории /opt)

Сервиса два, допустим это test и cloud. Так что шагов уже 6.

Когда обновлять вручную надоело, мы положили на все линукс машины простой скриптик:

Собираешь приложение, подкладываешь к скриптику и запускаешь 1 команду вместо 6. Удобно! Это называется «автоматизация рутины» =)

Другой пример с того же проекта — мы делали серверное приложение. И во время установки приложения на сервере linux нужно выполнить пункты по настройке самой системы. Например, увеличить параметр max_map_count — сколько максимум памяти может использовать процесс.

Приложение в пике работы требует много памяти. Если не настроить параметр, то «тяжеловесная» задача просто упадет с ошибкой «Не хватает памяти». И если мы видим такую ошибку, то в первую очередь идем проверять настройки системы.

Вообще, если вы отдаете установку приложения на откуп «чужим» админам, лучше потом проверять — а всё ли настроено верно? Конечно, обычно на production (машина, с которой работают реальные пользователи) настраивают всё внимательно, это на тестовых стендах могут что-то пропустить. Но лучше перебдеть!

что такое shell скрипт. image loader. что такое shell скрипт фото. что такое shell скрипт-image loader. картинка что такое shell скрипт. картинка image loader. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Мы написали скрипт по проверке настройки окружения (символ «#» в начале строки означает, что это комментарий):

В итоге админы настраивают окружение, а потом мы даем им скрипт, просим запустить его и прислать результаты. Я запустила скрипт на «голой» системе, где, разумеется, параметры настроены не были, и вот ответ:

что такое shell скрипт. image loader. что такое shell скрипт фото. что такое shell скрипт-image loader. картинка что такое shell скрипт. картинка image loader. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Видим, что все проверки провалились, статус failed. Если и от админов приходит похожая картина, направляем их в документацию по настройке системы. Если к нам приходят с проблемой падения из-за нехватки памяти, снова просим выполнить скрипт. Так проще локализовать ошибку: это в приложении косяк, или окружение настроено плохо?

Просить других людей выполнить 10 команд не очень хорошо. Потому что часть команд может «потеряться» при выполнении — плохо скопировал, забыл выполнить проверку, которую дали сообщением позже. Гораздо проще сделать 1 скрипт и попросить выполнить именно его.

Когда надо писать скрипт?

Когда надо выполнить больше 3 команд за раз — проще выполнить одну, запустить скрипт.

Когда одну и ту же команду надо выполнять чаще 3 раз — лучше автоматизировать эту работу.

что такое shell скрипт. image loader. что такое shell скрипт фото. что такое shell скрипт-image loader. картинка что такое shell скрипт. картинка image loader. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

По сути своей, bash-скрипты — это та же автоматизация. А когда нужна автоматизация? Когда мы хотим избавиться от рутины, от постоянного выполнения одного и того же действия вручную. Повторяете одно и то же каждый день / неделю? Напишите скрипт. Даже если он на 2-3 строчки будет, это правда удобнее. Поверьте, сама делала небольшие скрипты =)

См также по bash:

Основы BASH. Часть 1 (Хабр) — цикл статей о том, как писать скрипты

См также другие статьи из цикла «Что такое. »:

Источник

Что такое командная оболочка (shell) в Linux?

Обновл. 27 Июл 2021 |

В этой статье мы разберемся, что такое shell и зачем это нужно, а также рассмотрим наиболее часто используемые командные оболочки в Linux и Unix.

Что такое shell?

Shell (или «шелл», «командная оболочка») — это не только командный интерпретатор, который обеспечивает интерфейс взаимодействия между пользователем и ядром операционной системы, но и своеобразный язык программирования, в котором присутствуют такие конструкции, как операторы условного ветвления, циклы, переменные и многое другое.

что такое shell скрипт. 1. что такое shell скрипт фото. что такое shell скрипт-1. картинка что такое shell скрипт. картинка 1. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

что такое shell скрипт. 2. что такое shell скрипт фото. что такое shell скрипт-2. картинка что такое shell скрипт. картинка 2. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Окно терминала привилегированного (root) пользователя (виден символ #)

Примечание: Знак тильды (

) указывает на то, что мы находимся в домашнем каталоге текущего пользователя.

После приглашения, пользователь вводит различные команды в терминал, оболочка запускает программы для пользователя, а затем отображает в терминале результат их выполнения. Команды могут быть либо введены непосредственно самим пользователем, либо считаны из файла, называемого shell-скриптом или shell-программой.

что такое shell скрипт. 3 1. что такое shell скрипт фото. что такое shell скрипт-3 1. картинка что такое shell скрипт. картинка 3 1. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Внутренние и внешние команды оболочки

Вводимые пользователем команды делятся на два типа:

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

Внешние — это команды, которые не встроены в оболочку. По своей сути они являются скорее небольшими отдельными программами, расположенными где-то в файловой системе (обычно, в каталогах /bin или /usr/bin).

Чтобы определить тип команды, достаточно в окне терминала ввести type :

что такое shell скрипт. 5. что такое shell скрипт фото. что такое shell скрипт-5. картинка что такое shell скрипт. картинка 5. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Ознакомиться с полным списком внутренних команд оболочки можно при помощи команды help :

что такое shell скрипт. 4. что такое shell скрипт фото. что такое shell скрипт-4. картинка что такое shell скрипт. картинка 4. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Как узнать какая оболочка у меня установлена?

Если вы только начинаете свое знакомство с Linux и не меняли оболочку, то наиболее вероятно, что в вашей системе используется bash. Самый простой способ узнать, какая оболочка используется в данный момент — это обратиться к переменной окружения SHELL :

что такое shell скрипт. 13. что такое shell скрипт фото. что такое shell скрипт-13. картинка что такое shell скрипт. картинка 13. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

что такое shell скрипт. 14. что такое shell скрипт фото. что такое shell скрипт-14. картинка что такое shell скрипт. картинка 14. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Не трудно заметить, что в настоящее время используется оболочка bash. Для просмотра всех доступных оболочек в вашей системе, необходимо обратиться к содержимому файла /etc/shells:

что такое shell скрипт. 15. что такое shell скрипт фото. что такое shell скрипт-15. картинка что такое shell скрипт. картинка 15. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Типы командных оболочек

В *nix-системах существует два основных типа оболочек: оболочки на основе Bourne shell и оболочки на основе C shell.

Типичными представителями оболочек типа Bourne shell являются:

bash (Bourne Again shell)

К оболочкам типа C Shell относятся:

tcsh (TENEX/TOPS C shell)

Ниже представлены некоторые из самых распространенных шеллов, используемых в *nix-системах:

что такое shell скрипт. 3. что такое shell скрипт фото. что такое shell скрипт-3. картинка что такое shell скрипт. картинка 3. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Примечание: Термин «*nix-системы» обозначает Unix-подобные операционные системы.

sh (Bourne shell)

sh (сокр. от «Bourne shell») — это самая старая (среди рассматриваемых) оболочка, написанная Стивеном Борном из AT&T Bell Labs для ОС UNIX v7. Оболочка доступна практически в любом *nix-дистрибутиве. Многие другие шеллы уходят своими корнями именно к sh. Благодаря своей скорости работы и компактности, данная оболочка является предпочтительным средством для написания shell-скриптов. К её недостаткам можно отнести отсутствие функций для использования оболочки в интерактивном режиме, а также отсутствие встроенной обработки арифметических и логических выражений.

что такое shell скрипт. 6. что такое shell скрипт фото. что такое shell скрипт-6. картинка что такое shell скрипт. картинка 6. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Примечание: Стоит отметить, что из-за общего морального устаревания оболочки, в современных системах ссылка на шелл sh (/bin/sh), обычно, является псевдонимом для запуска текущей, более новой оболочки.

Характерные черты sh:

Полные пути к интерпретатору: /bin/sh и /sbin/sh.

bash (Bourne-Again shell)

bash (сокр. от «Bourne–Again shell») — это усовершенствованный и дополненный вариант шелла sh, является одной из самых популярных современных командных оболочек *nix-систем.

Объединяет в себе полезные фишки оболочек ksh и csh.

Поддерживает навигацию при помощи стрелок, благодаря чему можно просматривать историю команд и выполнять редактирование прямо в командной строке.

что такое shell скрипт. 7. что такое shell скрипт фото. что такое shell скрипт-7. картинка что такое shell скрипт. картинка 7. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Характерные черты bash:

Полный путь к интерпретатору: /bin/bash.

Приглашение для обычного пользователя: имя_пользователя@имя_хоста:

— это домашний каталог текущего пользователя, например, mrsmith@mypc:

Приглашение для суперпользователя (root): root@имя_хоста:

ksh (Korn shell)

ksh (сокр. от «Korn shell») — это командная оболочка, разработанная Дэвидом Корном из AT&T Bell Labs в 1980-x годах.

Является расширением sh.

Имеет обратную совместимость с sh.

Имеет интерактивный функционал, сравнимый с csh.

Включает в себя удобные для программирования функции, такие как: встроенную поддержку арифметических выражений/функций, Си-подобный синтаксис скриптов и средства для работы со строками.

Работает быстрее, чем csh.

Может запускать скрипты, написанные для sh.

что такое shell скрипт. 7a. что такое shell скрипт фото. что такое shell скрипт-7a. картинка что такое shell скрипт. картинка 7a. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Характерные черты ksh:

Полный путь к интерпретатору: /bin/ksh.

csh (C shell)

csh (сокр. от «C shell») — это командная оболочка, созданная Биллом Джоем (автором редактора vi) с целью усовершенствования стандартного шелла Unix (sh).

Имеет встроенные функции для интерактивного использования, например, псевдонимы (aliases) и историю команд.

Включает в себя удобные для программирования функции, такие как: встроенную поддержку арифметических выражений и Cи-подобный синтаксис скриптов.

что такое shell скрипт. 8. что такое shell скрипт фото. что такое shell скрипт-8. картинка что такое shell скрипт. картинка 8. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Характерные черты csh:

Полный путь к интерпретатору: /bin/csh.

tcsh (TENEX C Shell)

tcsh (сокр. от «TENEX C shell») — это командная оболочка, созданная Кэном Гриром, которая позиционируется как улучшенная версия шелла csh.

Имеет полную совместимость csh.

Именно в данном шелле впервые появилась функция автодополнения команд и путей.

Удобна для интерактивной работы.

Поддерживает редактор командной строки в стиле vi или emacs.

Является стандартным шеллом во FreeBSD.

что такое shell скрипт. 9. что такое shell скрипт фото. что такое shell скрипт-9. картинка что такое shell скрипт. картинка 9. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Характерные черты tcsh:

Полный путь к интерпретатору: /bin/tcsh.

Приглашение для обычного пользователя: имя_хоста:

zsh (Z Shell)

zsh (сокр. от «Z shell») — это командная оболочка, созданная Паулем Фалстадом во время его учебы в Принстонском университете, позиционируется как свободная современная sh-совместимая командная оболочка.

Среди стандартных шеллов больше всего похожа на ksh, но включает в себя множество улучшений.

Встроенная поддержка программируемого автодополнения команд, имен файлов и пр.

Поддержка проверки орфографии и опечаток.

Раздельная история команд для одновременной работы с несколькими запущенными шеллами.

что такое shell скрипт. 10. что такое shell скрипт фото. что такое shell скрипт-10. картинка что такое shell скрипт. картинка 10. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Характерные черты zsh:

Полный путь к интерпретатору: /bin/zsh.

Приглашение для суперпользователя (root): root@имя_хоста:

Резюмируем

Краткая сводная таблица для 6 вышерассмотренных командных оболочек:

Командная оболочка Путь Приглашение (обычный пользователь) Приглашение (root)
sh (Bourne Shell)/bin/sh и /sbin/sh$#
bash (Bourne-Again Shell)/bin/bashимя_пользователя@имя_хоста:

$имя_пользователя@имя_хоста:

#ksh (Korn Shell)/bin/ksh$#csh (C Shell)/bin/csh%#tcsh (TENEX C Shell)/bin/tcshимя_хоста:

>#zsh (Z Shell)/bin/zsh%#

Примечание: Помимо представленных выше оболочек, есть еще и такие оболочки, как:

mksh — оболочка, основной упор в которой сделан на написание скриптов;

dash — более легковесная в сравнении с bash оболочка, но из-за этого обладающая ограниченной функциональностью;

fish — «новая» оболочка, написанная в 2005 году, отличительной чертой которой является упор на комфорт использования и упрощение командного языка;

Поделиться в социальных сетях:

Источник

19 полезных shell-скриптов на все случаи жизни

что такое shell скрипт. darth vader smoke h. что такое shell скрипт фото. что такое shell скрипт-darth vader smoke h. картинка что такое shell скрипт. картинка darth vader smoke h. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Содержание статьи

Командная строка и те невообразимые вещи, которые с ее помощью можно творить, — визитная карточка UNIX и всех ее наследников. А где есть командная строка, там есть скрипты. И сегодня. нет, мы не будем учиться писать скрипты, мы рассмотрим наиболее полезные из них, те, что ты сможешь применять ежедневно для решения самого разного круга задач, начиная от сводки погоды и веб-сервера в одну строку и заканчивая ботом для твиттера в десять строк и скриптом для автоматического запуска любого торрент-клиента.

Сразу оговорюсь, что я вовсе не приверженец шаманизма и ни в коем случае не призываю тебя сидеть в зелено-черной консоли и набирать кучу букв, чтобы выполнить действия, для которых в графическом интерфейсе достаточно навести мышку на нужный элемент. Однако я убежден, что для решения многих задач консоль и скрипты годятся гораздо лучше графического интерфейса и поэтому пренебрегать ими никак нельзя. Тем более что любая DE позволяет создать для скрипта иконку, так что для его запуска даже не надо будет открывать консоль.

Простые примеры

Итак, не разглагольствуя понапрасну, сразу перейдем к примерам:

Эта простая команда покажет тебе внешний IP — идеальный вариант, если в Сеть ты ходишь через роутер. Все, что она делает, — просто обращается к серверу ifconfig.co, который возвращает обратно IP-шник одной строкой вместо полноценной веб-страницы.

И да, это вовсе не скрипт, это просто команда, но, чтобы превратить команду в скрипт, достаточно поместить ее в текстовый файл и первой строкой добавить так называемый шебанг, то есть символы #!, за которыми следует имя командного интерпретатора:

Далее скрипт сохраняем в каталог

/bin и назначаем права на исполнение:

Теперь его можно вызывать из командной строки командой myip.sh.

Этот скрипт позволяет получить сводку погоды на четыре дня. Принцип тут такой же, как в случае с ifconfig.co.

что такое shell скрипт. 1473322084 0a19 weather. что такое shell скрипт фото. что такое shell скрипт-1473322084 0a19 weather. картинка что такое shell скрипт. картинка 1473322084 0a19 weather. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh). Сводка погоды в консоли

Xakep #212. Секреты даркнета

А так можно получить краткое описание чего-либо в Википедии, причем с помощью DNS-запроса вместо обращения к веб-серверу. Кстати, веб-сервер через командную строку тоже очень легко создать:

Данный скрипт основан на утилите netcat (nc), которую называют швейцарским армейским ножом для сетевых операций. Скрипт запускает цикл, выполняющий команду nc, которая слушает 80-й порт и в ответ на запрос отдает file.html, отправляя переданный запрос в никуда (символ означает noop, то есть пустую операцию).

С помощью простых скриптов и команд можно запросто слушать интернет-радио:

Естественно, плей-лист в формате M3U необходимо заранее скачать с сайта радиостанции. Кстати, если запустить MPlayer с аргументом —input-ipc-server=/tmp/mpvsocket, им можно будет управлять, записывая команды в файл. Например, настроить громкость:

Создай два скрипта: один для запуска, другой для остановки радио (со строкой killall mpv), повесь их на рабочий стол и настрой горячие клавиши DE на управление воспроизведением. Вуаля, у тебя готов плеер для интернет-радио, запустить который можно, просто кликнув по иконке на рабочем столе. И он почти не будет расходовать память или занимать трей.

Но отвлечемся от сетевых операций и вернемся к локальным делам.

А это уже скрипт, который запускает команду в ответ на изменение файлов в каталоге. Ее можно использовать для множества разных целей, например для автоматического включения плеера при сохранении MP3-файла. Или просто выводить уведомление на десктоп, используя в качестве команды notify-send:

Десктоп

Раз уж мы заговорили о десктопе, то продолжим. Как и консоль, его тоже можно заскриптовать. Вот, например, скрипт, загружающий случайные обои, опубликованные на reddit-канале wallpaper:

Здесь все просто. С помощью wget скрипт загружает страницу www.reddit.com/r/wallpaper, передает ее grep, который ищет на ней ссылки на imgur, выбирает случайную ссылку с помощью shuf, загружает ее опять же с помощью wget и устанавливает в качестве обоев, используя команду feh (это такой миниатюрный просмотрщик изображений, его нужно предварительно установить). Скрипт можно добавить на рабочий стол, и тогда по клику у тебя будут меняться обои.

А это скрипт для включения/выключения тачпада ноутбука: включает, если отключен, и наоборот. В своей работе использует утилиту synclient, позволяющую управлять тачпадами производства Synaptics (90% тачпадов делают они). При запуске без аргументов утилита выводит различную информацию о тачпаде, в том числе строку TouchpadOff = 1, если он активирован, и TouchpadOff = 2, если отключен. Скрипт находит это значение и в зависимости от состояния тачпада включает или отключает его.

Ту же самую команду можно использовать для создания полноценной камеры слежения, которая делает снимки в моменты, когда юзер прикасается к мыши:

Для записи полноценного видео с веб-камеры можно использовать такой скрипт:

В результате ты получишь video.avi в формате MPEG4 с битрейтом 1800 и аудиодорожкой в формате MP3 с битрейтом 128.

А так ты можешь записать скринкаст. 1366×768 — разрешение рабочего стола. Просто сделать скриншот отдельного окна всегда можно с помощью команды import:

После ее запуска значок мыши изменится на «прицел», с помощью которого можно выбрать окно. Повесив эту команду на клавиатурную комбинацию, ты получишь практически идеальную систему снятия скриншотов, абсолютно не жрущую память, как это делают специализированные приложения, постоянно висящие в трее.

Подключить и настроить внешний монитор тоже можно из командной строки:

Данный скрипт предполагает, что основной монитор носит имя LVDS, а внешний — VGA-0. Это стандартная ситуация для ноутбуков; если ты не уверен, можешь проверить вывод команды xrandr: при передаче скрипту аргумента off он отключает внешний монитор, аргумент on, в свою очередь, включает его, располагая по левую сторону от основного (аргумент —left-of LVDS в первой команде). Далее скрипт добавляет новую конфигурацию для монитора с разрешением 1920 x 1080 и активирует его. В самом конце скрипт устанавливает дефолтное значение DPI — как показывает практика, при подключении монитора с другим разрешением оно часто слетает.

Он же поможет сгенерировать нестандартное разрешение, «не поддерживаемое» монитором по умолчанию.

Google, Twitter, Dropbox и торренты

Отвлечемся от десктопных дел и поговорим о сетевых сервисах. Начнем, разумеется, с Google. Вот так будет выглядеть скрипт для получения первых десяти результатов поиска:

Скрипт делает запрос к Google с помощью уже знакомого нам curl, заменяя пробелы в поисковой строке на плюсы. Далее выискивает в ответном HTML ссылки и выводит их на экран. Все просто, хоть и кажется сложным.

что такое shell скрипт. 1473322169 34f8 google. что такое shell скрипт фото. что такое shell скрипт-1473322169 34f8 google. картинка что такое shell скрипт. картинка 1473322169 34f8 google. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh). Ищем в Google из командной строки

Второй популярный сервис — YouTube:

Здесь все совсем просто. Скрипт всего лишь проигрывает видео с указанным в аргументе ID с помощью плеера mpv. Естественно, youtube-dl придется установить заранее.

Как насчет твиттера? Нет проблем, вот полноценный бот, который на входе принимает команду, выполняет ее с помощью командного интерпретатора и отправляет результат указанному юзеру.

Скрипт использует консольный клиент ttytter, читая в цикле последнее direct message, далее он проверяет, не была ли такая команда уже выполнена, и, если нет, выполняет ее и отправляет указанному в переменной USER пользователю, попутно обрезая до 140 символов.

Чтобы все заработало как надо, тебе придется установить ttytter, запустить его, ввести приведенную им ссылку в адресную строку браузера, скопировать показанный браузером ключ аутентификации и ввести его в ttytter. Естественно, перед тем как это сделать, следует завести для бота отдельного юзера и залогиниться под его учеткой.

что такое shell скрипт. 1473322189 55f6 ttytter. что такое shell скрипт фото. что такое shell скрипт-1473322189 55f6 ttytter. картинка что такое shell скрипт. картинка 1473322189 55f6 ttytter. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh). Ttytter запрашивает ключ

Твиттер можно использовать не только для выполнения команд, но и для мониторинга машины. Следующий скрипт отправляет в ленту сообщение с информацией о состоянии машины (имя хоста, uptime, нагрузка, свободная память и нагрузка на CPU):

что такое shell скрипт. 1473322198 e528 ttytter2. что такое shell скрипт фото. что такое shell скрипт-1473322198 e528 ttytter2. картинка что такое shell скрипт. картинка 1473322198 e528 ttytter2. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh). Мониторинг машины с помощью Twitter

Ну и под конец приведу скрипт, не связанный с сетевыми сервисами, но имеющий прямое отношение к сетям и к тому, зачем мы обычно их используем. Это скрипт для запуска и остановки торрент-клиента во время простоя машины:

Скрипт уходит в бесконечный цикл, каждую минуту проверяя, сколько миллисекунд прошло с момента, когда юзер что-либо делал (для этого используется команда xprintidle). Если прошло уже 600 000 мс (десять минут), скрипт выполняет команду, указанную в переменной STARTCMD. В противном случае он выполнит команду STOPCMD, но только тогда, когда до нее была выполнена команда STARTCMD. Если кратко: ничего не делаешь за компом десять минут — запускается STARTCMD, в данном случае это команда запуска всех закачек с помощью Transmission, если нет — приостановка всех закачек. Не любишь Transmission? Нет проблем, вот команды для Deluge:

Вместо выводов

Не удивлюсь, если все описанное в статье покажется тебе очередным велосипедостроением, и даже соглашусь с таким мнением. Все-таки современный Linux — это не та система для сумасшедших экспериментаторов, какой она была пятнадцать лет назад. Сегодня для каждой задачи можно найти отдельный, отлаженный и хорошо работающий инструмент, в том числе графический. Другое дело, что не совсем понятно, стоит ли захламлять систему тяжеловесными написанными на Python приложениями с кучей зависимостей, когда ту же задачу легко решить с помощью простенького скрипта.

Каким путем пойти — выбирать тебе. Встанешь ли ты на темную сторону или выберешь путь джедая?

что такое shell скрипт. Evgenij Zobnin 1. что такое shell скрипт фото. что такое shell скрипт-Evgenij Zobnin 1. картинка что такое shell скрипт. картинка Evgenij Zobnin 1. Shell-скриптинг — написание сценариев командного интерпретатора пользователя (sh, bash, csh).

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Источник

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

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