Найти тему
D21nk Master

Дай машине сделать всё самой

И так,мы поверхностно разобрали bat-скриптинг,в конце статьи я привёл пример по быстрой замене файла конфигурации,давай те же на него взглянем:

@echo off
copy /y E:\file.txt C:\PathToFile\file.txt

Закидываем данный файл на флешку,туда же наш скрипт и вместо постоянной работы с графикой после открытия флешки просто запускаем скрипт.Воуля!

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

Мы так же целиком синтаксис изучать не будем,как и для bat-тут требуется отдельный цикл статей.Разберём лишь некоторые конструкции:

Начало файла:

Для запуска скрипта нужно указать оболочку и сам скрипт - bash script.sh.Можно использовать оболочку по умолчанию:

Добавив в начало файла "!#/bin/bash" можно запускать скрипт так ./script.sh

Так же нужно добавить права на запуск командой chmod +x script.sh

Переменные:

Создаются:

x=10

Используются с '$':

echo $x

По умолчанию все переменные текстовые,для математических выражений необходимо явно их указать с '[]':

a=10
b=20
c=$[a+b]

Логически условия.Их всего три варианта,мы разберём один:

Слово "if" обязательно 2 скобки ((условие)) слово then,fi-конец условий:

if(($x==10))then
Действия
elif(($x==20))then #альтернативная ветвь (else if)
Другое действие
fi

Цикл for:

Если вы читали статьи по программированию-то этот цикл будет вам знаком:

Слово "for" две скобки ((переменная;условие;операции))слово "do",цикл закрывается словом "done".

Пример:

for((i=0;i10;++i))do
echo $i
done

Оба эти языка очень просты и изучаются буквально за неделю для начинающих,для людей знающих какой-нибудь язык программирования за час.Можно вовсе не изучать,а сразу работать по справке,что я не рекомендую,потому как практика без теории-хлипкая вещь.

В заключение приведу пример скрипт,который я написал для захвата скриншотов прикрученный на кнопку:

enum=$(cat /usr/share/users-files/screenum) #в файле хранится номер скрина
import -window 4 screen$enum.jpg #импорт экрана 4 позволит выбирать область
enum=$[enum+1] #увеличение переменной
echo $enum > /usr/share/users-files/screenum #замена переменной

Автоматизируйте свои задачи,изучайтескриптинг своих систем и фраза "Да как я жил раньше без этого" не покинет больше ваши мысли.Желаю удачи!