97
шығару;
■
${var:=string} — егер анықталған болса var айнымалысын алу,
немесе егер var айнымалысы анықталмаған болса string жолағын
шығару. Онымен қоса егер айнымалысы анықталмаған болса оған
string мәні меншіктеледі;
■
${var:?string} — егер анықталған болса var айнымалысын алу,
немесе егер var айнымалысы анықталмаған болса string жолағын
шығарылады да тапсырма аяқталады.
■
${var:+string} — егер var ] анықталған болса, string мәнін алу, немесе
егер var айнымалысы анықталмаған болса бос мән алынады[8].
Айнымалы мәнінің орнына string мәнін алмастырып пайдалану өте
қолайлы, мысалы келесі жағдайда: тапсырма экранға файлды cat
команданы арқылы шығарады деп болжайық. Шығарылатын файлдың
атауы айнымалы ортада бар. Егер айнымалы орта берілмесе —
файлдың алдын-ала берілген атауы алмастырылып қойылады:
cat ${FILENAME:-/home/sergey/default.txt}
Осылайша, егер айнымалы FILENAME анықталмаған болса, cat
команданы экранға шығарады:
/home/sergey/default.txt.
5.4.2.
Жүйелік айнымалылар
Пайдаланушы анықтайтын айнымалыдан басқа BASH командалық
интерпретатордың кіріктірілген жүйелік айнымалылары бар. Бұл
айнымалылардың стандартты атаулары және белгіленген түсіндірмесі
бар, сонымен бірге олардың мәндері командалық интерпретатормен
беріледі, пайдаланушы оны тек оқи алады, бірақ өзгерістер енгізуге
болмайды.
BASH ішінде келесідей кіріктірілген айнымалылар анықталған:
1. $? — соңғы команданы қайтару коды. Сценарийден қайтару exit
командаcымен қайтару кодын көрсету арқылы жүргізіледі:
(exit <қайтару коды>)
Қайтару коды тапсырманы орындауды басқару үшін қызмет етеді,
мысалы файл ішінде жолақты тізбектей іздеген кезде керек.
Бағдарламаның қайтару кодына байланысты grep файлда жолақты
іздеуде егер қажет жолақ табылмаса қателік туралы хабарлама беруге
болады немесе келесі келесі жолақты іздеуді жалғастыру керек.
2. $# — тапсырманы шақыру командалық жолағының параметрлер
саны;
|