Има ли смисъл от учене на скриптове за черупки (bash) смисъл на програмирането като начинаещ в Linux?

не си логнат.

черупки

# 1 25.07.2011 г. 14:10:07

Има ли смисъл да изучавате скриптове на черупки (bash) като начинаещ в Linux?

Работя с Arch Linux от няколко месеца и много ми харесва, но все още нямам много общо с bash.
В друг форум казах, че преминах към Linux (една от многото причини), защото искам да контролирам операционната си система, а не обратното.
Тогава някой ми написа, че трябва да овладея скриптове на черупки (bash) правилно.

Обаче пред мен възниква въпросът дали има смисъл като начинаещ в Linux да се учим скриптове на черупки, ако не знаете много за самата система?

Досега знам само, че bash е същото като batch в Windows, само че е по-мощен и в Windows го използвах само за стартиране на няколко програми едновременно или за други диви неща.

Какво точно все още можете да постигнете с bash?
Какви са предимствата на овладяването на bash добре в сравнение с хората, които изобщо не могат да го направят?

Като алтернатива, някой е предложил да можете да правите Python, защото можете да направите същото с него. Вярно ли е?

Тъй като отдавна искам да науча Python, това би било подходящият момент (поради добри практически примери), но ако не работи с Python, възнамерявам да купя следната книга:

Тъй като е много скъпо, първо бих искал да се уверя с вас дали това е разумна инвестиция, за да мога изобщо да постигна целите си или трябва да отида по по-оптимален път?

Много съм благодарен за вашата помощ.

# 2 25.07.2011 г. 14:27:50

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

На първо място: трябва да научите Bash (или друг скриптов език като zsh или tcsh) рано или късно така или иначе. Това е основната структура, така да се каже. Езиците на скриптове всъщност не са толкова трудни за научаване и могат да ви освободят от много ръчна работа. В допълнение, сега има Powershell под Windows, за да коригира този недостатък. дори и с напълно графична операционна система, няма да се заобиколи основата. Ако можете да повярвате на администраторите на Windows, Powershell е още по-добър/по-обширен/по-удобен от напр. баш.
На теория можете да постигнете всичко с Bash, тъй като езикът се счита за завършен на Тюринг. Но със сигурност не искате да искате да приложите всичко с език на обвивката на скрипта. Но основни задачи като логика за стартиране на програми или други подобни могат лесно да бъдат изпълнени. Дори ако искате да стартирате само няколко програми наведнъж, ги опаковате в скрипт на обвивката.

Отначало не мога да кажа нищо за самата книга, но в началото не мисля, че книгите на Галилей са лоши. Обикновено те са доста повърхностни (лично мнение), но са подходящи и за начинаещи. Но има повече от достатъчно безплатни ресурси чрез Bash (между другото и Python). Просто използвайте избраната от вас търсачка и се радвайте. И научете баш

# 3 25.07.2011 г. 14:38:48

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

Определено: научете bash (основни принципи)!

Не е нужно да купувате книга, за да направите това. Ресурсите в мрежата са богати, не е задължително да се нуждаете от задълбочени познания, но основите са много полезни. Обикновено се научавате да го правите така или иначе: Винаги, когато имате нужда от bash, търсите опциите и командите и след това започвате да програмирате! ^^
Използвам и метода idiot: знам какво всъщност се случва и когато имам нужда, го търся (въпреки че някои неща така или иначе се втвърдяват); Вече съм създал няколко дузини скриптове за автоматизиране на различни процеси, както линейни, така и интерактивни.
Свързах следните две страници, които обясняват много по смислен начин и също дават примери за приложение:
http://www.bin-bash.de/index.php
http://linuxseiten.kg-it.de/index.php?i… sh_befehle

# 4 25.07.2011 г. 16:14:22

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

Благодаря ви, SaThaRiel и deviant, за подробните отговори.
Вие много ми помогнахте.

Така че вероятно ще купя този с книгата и ще прочета уебсайтовете, публикувани тук.

Областта на приложение все още не ми е напълно ясна.
Някой във форума веднъж ми помогна с баш скрипт, който автоматично установява VPN връзка, когато съм свързан с определена WLAN мрежа и това ме убеди доста (по това време дори не знаех, че можете да направите нещо подобно) или този скрипт на диспечера е различен за мрежовия мениджър?

@deviant: Можете ли да дадете няколко примера за дузината си скриптове?
Защото както при WLAN, гарантирано има неща, които дори не знаех, че са възможни.

# 5 25.07.2011 г. 16:43:28

Re: Има ли смисъл да се учи скриптове на черупки (bash) като начинаещ в Linux?

Бих препоръчал също така да се запознаете с функционалността на многото малки инструменти (awk, sed, grep, bz и др.). Може да ви освободи от много работа и е много практичен. Останалото време се появява от само себе си, както deviant пише ^^

# 6 25.07.2011 г. 16:43:59

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

# 7 25.07.2011 16:47:45

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

Най-очевидните са стартовите скриптове: Какво ще се изпълни, когато вляза в Linux?
DE предлагат свои собствени опции, включително Openbox и други подобни, Compiz не:

Затова стартирам този скрипт в началото, от който се изпълняват няколко скрипта.

"winebinds" свързва някои папки, които съм преместил в друг дял, достъпен за всички инсталирани Linux системи в папката/home.

"wlan0ff" е малък скрипт, който също публикувах в английския wiki. Проверява дали съм свързан с точка за достъп и ако не бъде намерен ESSID, той напълно изключва WLAN хардуера, за да спести енергия.

В противен случай това включва малки вериги от команди за нулиране и рестартиране на pppoe връзката, изпращане на известия (напр. Ако батерията е изтощена) или забавяне на спирането до края на всички изтегляния:

(Забележка: част от този скрипт е заимствана отнякъде и е включена в моя скрипт, sry, в случай че някой се почувства непризнат ^^)
Мислех за директен начин за отчитане на трафика, но в крайна сметка получих това решение.

Също така съм създал скриптове за няколко игри, които трябва да подобрят производителността чрез затваряне на conky и easystroke, деактивиране на тъчпада, промяна на клавиатурата и след това стартиране на играта (както и отмяна на тези промени след като тя е завършена, conky и easystroke отново старт и т.н.

За удоволствие написах малка програма, която променя картата на клавишите и предоставя различна информация - 100 реда, които не правят нищо, което "setxkbmap" не би направило. но ми беше скучно и седнах във влака

Целта на такива скриптове е да автоматизират команди, които не искате да въвеждате ръчно всеки път или които бързо забравяте.

Редактиране: Много полезно използване на скриптове е cronjob, който автоматично проверява за актуализации и показва това с помощта на Conky. За тази цел тук във форума вече са публикувани няколко разумни подхода, които не се различават съществено.

Публикацията е променена от deviant (25.07.2011 17:07:29)

# 8 25.07.2011 19:04:21

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

ето пример от мен. Скриптът се използва за отваряне на външния ми твърд диск, кодиран с LUKS, и за монтиране или затваряне в определена директория. Написах, че преди Thunar да може да обработва LUKS дялове.

Публикацията е променена от SiD (25.07.2011 19:06:01)

# 9 26.07.2011 04:18:51

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

. Защото както при WLAN, гарантирано има неща, които дори не знаех, че са възможни.

Можете да предположите, че е възможно и почти всичко, което има смисъл и не е ограничено от хардуерни слабости. Ако е необходимо, просто попитайте

# 10 26.07.2011 9:40:32

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

Shell скриптове също могат да се използват за внедряване на "по-големи" неща, като aurget. Това е програма за инсталиране на програми от AUR, за търсене в AUR, ...

# 11 26.07.2011 г. 11:56:21

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

Е, можете да правите всичко с почти всеки език. Но в един момент стигате до точката, в която е по-удобно да си стреляте в крака.

# 12 26.07.2011 12:39:53

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

Е, можете да правите всичко с почти всеки език. Но в един момент стигате до точката, в която е по-удобно да си стреляте в крака.

Вече исках да напиша нещо подобно и да измисля практичност; че не винаги има смисъл да пишете сами нещо, което другите вече са написали, особено когато усилията явно надвишават печалбата; но разбира се работи и така.

# 13 30.07.2011 г. 13:15:51 ч

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

Така че, ако искате да си купите книга, препоръчвам ви справочна работа. Огледайте се и ще бъдете изумени от това, което се случва на баш!
Купих го, когато започнах с Linux и дори да знам къде да търся в системата и преди всичко с какво! Но аз също дойдох от света на Klickibunti и никога не бях чувал за DOS или черупка. Последният контакт с език на скриптове беше Basic от C16 .

Относно книгата: Linux - Kurz & gut, струва € 9,90

# 14 07.07.2011 22:21:19

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

Така че, ако искате да си купите книга, препоръчвам ви справочна работа. Огледайте се и ще бъдете изумени от това, което се случва на баш!
Купих го, когато започнах с Linux и дори да знам къде да търся в системата и преди всичко с какво! Но аз също дойдох от света на Klickibunti и никога не бях чувал за DOS или черупка. Последният контакт с език на скриптове беше Basic от C16 .

Относно книгата: Linux - Kurz & gut, струва € 9,90

Или нещо по-специално, този Bash - Kurz & Gut, също € 9,90

# 15 16.08.2011 г. 19:20:48 ч

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

Хей,
Препоръчвам книгата на Юрген Волф „Програмиране на черупки“ от Галилео Верлаг. Аз самият винаги използвам това като справочна работа, когато е необходимо.
Във всеки случай има смисъл поне редовно да изпробвате различни еднолинейни и тръбопроводи. Дори само да се упражнявате в жонглиране с регулярни изрази (от които за съжаление не можете да избягате). Да науча скриптове като „истински език за програмиране“ не е това, което бих посъветвал да направите сега. Ако е необходимо, би било по-добре да копирате или адаптирате няколко примерни примера за конкретна цел. Например използвам мини-скрипт, който написах сам, за следната задача: Новополучаваните игри трябва да бъдат проверени за автентичност чрез сравняване на контролната сума CRC32 от база данни и, ако успеят, да бъдат преименувани автоматично в съответствие с предварително зададената схема. Базата данни трябва да се актуализира по-често и нейният формат трябва да се преобразува от html в csv.
Поздрав

# 16 17.08.2011 10:57:42

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

Да науча скриптове като „истински език за програмиране“ не е това, което бих посъветвал да направите сега.

Намирам добър намек.
Нека го видим прагматично: Shell скриптовете всъщност не са нищо повече от (като DOS пакетни файлове едновременно) низ от различни команди/програми, които трябва да бъдат стартирани и обработени „с едно движение“.
Нищо всъщност.

Това е мястото, където "програмирането", т.е. логическата част, отново влиза в действие, когато определени процеси трябва да се извършват само при определени условия. Или повторени до определени условия или определен брой пъти.
И ще видите: тези инструменти, за да могат хората изобщо да контролират (програмират) процеса, са налични и на всеки друг език за програмиране. Общото между всички: Трябва да схвана, разбера, абстрахирам задача и да я приведа в логическа последователност. за това използвам неща като решения (ако/друго), цикли, функции. Нещо подобно може да бъде формулирано съвсем абстрактно, без помощта на конкретен "език".
Когато го внедрявате, ще забележите по-късно: Ако съм усвоил това изкуство на проблем-> път-> решение, тогава трябва само да разгледам синтаксиса на използвания език. Знам, че всеки език предлага нещо като „решение“ и знам как „решението“ ми помага при конкретната стъпка. Така че просто трябва да разгледам синтаксиса: Как го правят с XYZ.
И ще се научите да оценявате предимствата на един език пред друг, ще можете да кажете: А, за този проект напр. Ruby е по-подходящ, отколкото когато го опитам със скрипт на bash shell.

Shell скриптовете са най-подходящи за началото на IMHO, когато има нужда от малки "помощници".
Да предположим, че трябва да разглеждам всеки дневник всеки ден, за да видя: а) Случило ли се е нещо конкретно (запис) и каква стойност има в него.
Досега съм правил това с nano-> Open-> Прочетете или Търсене-> Направете нещо/не правете нещо, когато се намери това, което искате.
Нещо подобно е прекрасно да бъдеш „сценарист“.

И четене: Shell скриптовете са доста лесни за четене (тъй като често са кратки и са предназначени само за малка задача). Напр. /etc/rc.d/startskipte. Или rc.sysinit.
За да видите: „Как го направиха?“ и конструкции, които не разбирате веднага, потърсете онлайн или в книга, че IMHO допринася значително за "изучаването на скриптов език" по-специално и за "ученето да програмирате" като цяло.

Аз самият съм просто доста отвратителен „програмист“, който харесва Руби;-) и създавах всички „завършени“ програми най-вече от чист мързел. Често просто започвам нещо, което никога не е завършено (защото няма необходима нужда). Въпреки това всеки път научавам нещо ново; и въпреки това все още трябва да търся твърде често синтаксиса (лоша памет). Но след няколко години винаги знам * какво * да търся.;-)

# 17 08.10.2011 г. 04:04:50

Re: Има ли смисъл да се учи скриптове за черупки (bash) като начинаещ в Linux?

Башът е особено готин, когато търсите нещо. Например, ако имате папка с много различни файлове и искате да преместите всички mp3 файлове в друга папка, това може да ви отнеме много време. С bash, от друга страна, извиквате командата