|
Обикновени шел скриптове
Какво е шел? Шел (англ. shell) е команден интерпретатор под Unix. Първоначално това звучи малко сложно. Обаче досега през цялото време работихме със шел. Въвеждахме команди като например ls или date. Диалогът се реализира от командния интерпретатор. Той се грижи за комуникацията с потребителя. Под Unix има различни шелове (C, Korn, Bash, ...). Всеки потребител може да реши сам за себе си свой любим шел. muLinux използва обаче само един шел. Разликите между шеловете е незначителна (за нормалните потребители) и засега няма да ни интересуват. Какво е променлива? Променливата е име, на което се предоставя стойност. Има три типа променливи: Системни променливи (предварително дефинирани) Специални променливи Променливи, дефинирани от потребителя Системните променливи определят качествата на системата на потребителя и могат да се приспособяват от потребителя. Системните променливи се пишат с главни букви. Специалните променливи могат само да бъдат четени. Те определят общите качества на системата. Променливите, дефинирани от потребителя могат да се създават и изтриват от потребителя. Те могат да се прилагат например за шел скриптове. Това са малки програми, които могат да улеснят повтарящи се действия. Показване на наличните променливи За показване на всички променливи служи командата set. /# set Показват се системните променливи със съдържанието. Вляво са имената на променливите, следва знак за равенство и съдържанието на променливата. За да видим всички променливи, трябва да превъртим екрана ([Shift] [Page Up], [Shift] [Page Down]). Тук искаме да обсъдим само няколко системни промелниви. За начало ще погледнем системната променлива PS1. Ако екрана не може да се превърта, можем да покажем с grep само реда с PS1: /# set | grep "PS1" PS1=/# /# _ Променливата PS1 съдържа два знака /#. Какво е това? Това ни е познато от някъде. Да, това е нашият промпт! Да видим дали можем да го променим. Предоставяне на съдържание Една променлива се дефинира със следния синтаксис, като не може да има интервали преди или след знака за равенство: Променлива=Стойност Искаме да променим промпта така, че да излиза като промпт "Befehl": /# PS1=Befehl? Befehl?_ По-добре би било ако има един интервал след "Befehl". Ако искаме да имаме интервал, трябва да го включим в стойността между кавичките: /# PS1="Befehl? " Befehl? _ Това е също необходимо, ако искаме да включим няколко думи като стойност: /# PS1="Gebe bitte einen Befehl ein: " Gebe bitte einen Befehl ein: _ Който иска, може да има DOS-промпт с PS1="C:> ".
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||









