Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Шел скрипт језик - Употреби Перл, не Баш


Написао БинниВА он Мај 2, 2008 - 11:40 ам -



По мени, шел скрипт је скрипта која аутоматизује задатке који се понављају. Али то није "званична" дефиниција. Википедијина је ово дефиниција...



Шел скрипт је сценарио написан за шкољку, командну линију или преводиоца, једног оперативног система.

Ја користим дефиницију која дефинише сврху писма - док други више воле дефиницију која дефинише технологију. Нећу да тврдим да моја дефиниција је боља од друге дефиниције - то је бесмислено. Осим тога, чак мислим да је 'друга' дефиниција исправна. Али ја ћу покушати да вам покажем предности мог приступа.

Сврха

Ја волим да аутоматизујем ствари (другим речима, ја сам лењ). Дакле, имам лепу малу колекцију прилагођених шел скрипти. Али постоји огромна препрека за писање шел скрипте - језик који се користи. Традиционалне шел скрипте написане су на језику који обезбеђује - баш или тцсх. То је проблем - ови језици су лоши - са великим 'Л'.

Проблем

За људе који су навикли на пристојне језике, ови шел језици су изгледа незгодни - или чак зли. Али пошто су већина шел скрипта мале, већини људи не смета језик.

У Башу, контролни ток команде изгледа као да је одбачен, пре него нешто што је уграђен. Ако ми не верујете, упоредите 'када' петља са Башом и Перлом.

Баш

if [ $value -eq 0 ] ; then echo "No Value" fi

Овај код проверава да ли код '$ вредност' има вредност 0 - ако је тако исписује поруку 'Нема вредности'

Перл

Исти код у Перлу

if($value == 0) { print "No Value";

Наравно, Перл експерти ће ићи и ако је ($ вредност!) или чак и ако је мања ($ вредност) - али то није поента. Погледајте како боље изгледа код у Перлу. Да, чак сам изненађен да чујем те речи - Перл је по многима "ружан" језик. Али када се упореди са Шел језиком, Перл је драгуљ (жао ми је због Пуна - нисам могао да одолим).

Решење

Решење је једноставно - не користите шел језик да пишете своје скрипте шкољке - Користите високи ниво језик за скриптовање као што је Перл. Или Питхон, Руби, ПХП, Тцл или чак ЈаваСкрипт.

Ja још увек користим баш шел скрипте за писање - али ако имам шел скрипту као услов (осим једноставног аргумента провере), ја користим већи језик - обично Перл.

Предности коришћења шел језика

* Њега подржава чак и најслабија Линук дистрибуција

*Његов метод већина преферира - надам се да ће ускоро променити функционалност.

*Цомманд позиви изгледају природније у шел језику

Предности коришћења високог степена језика

* Бољи код

* Једноставан за одржавање

*Брже развојне библиотеке

* Пружа много

*Подеснији за различите платформе

Па зашто вам све ово говорим? Два разлога.....

Први, следећи пут када напишете шел скрипту, желим вам да изаберете висок ниво језика уместо да користите баш.

Други разлог је то да моја серија на Линукс МП3 плејеру ће да узме малу паузу од десктоп постова и пише на више линкова. По темама. А једна од тих тема је Шел Скриптинг. Дакле, у будућим постовима, ја ћу да поделим неке од мојих шел скрипти са вама. Дакле, када ја објавим Перл скрипту и назовем је шел скрипта, не желим да се збуните.

Сродне Поруке

* Шел скрипт за резервне копије датотека Коришћење Локално Рсинц

* Прилагођавање Терминал: Направите корисне савезнике

*Скрипту за резервне копије датотека преко мреже



Published (Last edited): 15-05-2012 , source: http://lindesk.com/2008/05/shell-script-language-use-perl-not-bash/