Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
Π‘Π°Ρˆ скрипти Π”Π΅Π» 2: Јамки
Bash скрипти, Π”Π΅Π» 3: ΠžΠΏΡ†ΠΈΠΈ ΠΈ ΠΏΡ€Π΅ΠΊΠΈΠ½ΡƒΠ²Π°Ρ‡ΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија
Bash скрипти Π”Π΅Π» 4: Π’Π»Π΅Π· ΠΈ ΠΈΠ·Π»Π΅Π·
Π‘Π°Ρˆ скрипти, Π΄Π΅Π» 5: сигнали, Π·Π°Π΄Π°Ρ‡ΠΈ Π²ΠΎ Π·Π°Π΄Π½ΠΈΠ½Π°, ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со скрипти
Π‘Π°Ρˆ скрипти, Π”Π΅Π» 6: Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°
Π‘Π°Ρˆ скрипти, Π”Π΅Π» 7: sed ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° тСкст
Π‘Π°Ρˆ скрипти, Π΄Π΅Π» 8: awk јазик Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ
Π‘Π°Ρˆ скрипти Π”Π΅Π» 9: Π Π΅Π΄ΠΎΠ²Π½ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ
Π‘Π°Ρˆ скрипти Π”Π΅Π» 10: ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ
Π‘Π°Ρˆ скрипти, Π΄Π΅Π» 11: ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°ΡšΠ΅ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΊΠΎΠΌΡƒΠ½Π°Π»Π½ΠΈ услуги

ДСнСс ќС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° баш скрипти. Ова - скрипти Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија, напишано Π·Π° баш школка. Има ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ школки ΠΊΠ°ΠΊΠΎ zsh, tcsh, ksh, Π½ΠΎ Π½ΠΈΠ΅ ќС сС фокусирамС Π½Π° bash. Овој ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π» Π΅ Π½Π°ΠΌΠ΅Π½Π΅Ρ‚ Π·Π° сСкого, СдинствСниот услов Π΅ способноста Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° линија Linux.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ

Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија сС Π·Π±ΠΈΡ€ΠΊΠΈ ΠΎΠ΄ иститС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС внСсат ΠΎΠ΄ тастатурата, Π΄Π° сС собСрат Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π΄Π° сС ΠΎΠ±Π΅Π΄ΠΈΠ½Π°Ρ‚ со нСкоја Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠ° Ρ†Π΅Π». Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Ρ‚ΠΈΠΌΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ°Π°Ρ‚ нСзависна врСдност ΠΈΠ»ΠΈ Π΄Π° слуТат ΠΊΠ°ΠΊΠΎ Π²Π»Π΅Π·Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ Ρ‚ΠΈΠΌΠΎΠ²ΠΈ. Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ‚Π΅ сС моќСн Π½Π°Ρ‡ΠΈΠ½ Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° чСсто ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ΠΈΡ‚Π΅ Π΄Π΅Ρ˜ΡΡ‚Π²Π°.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ

Π—Π½Π°Ρ‡ΠΈ, Π°ΠΊΠΎ Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија, Ρ‚Π°Π° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ одСднаш со Π²Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½ΠΈΠ² ΠΎΠ΄Π΄Π΅Π»Π΅Π½ΠΈ со Ρ‚ΠΎΡ‡ΠΊΠ°-Π·Π°ΠΏΠΈΡ€ΠΊΠ°:

pwd ; whoami

Π’ΡΡƒΡˆΠ½ΠΎΡΡ‚, Π°ΠΊΠΎ стС Π³ΠΎ ΠΏΡ€ΠΎΠ±Π°Π»Π΅ ΠΎΠ²Π° Π²ΠΎ Π²Π°ΡˆΠΈΠΎΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», Π²Π°ΡˆΠ°Ρ‚Π° ΠΏΡ€Π²Π° баш скрипта која Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π΅ вСќС напишана. Π Π°Π±ΠΎΡ‚ΠΈ Π²Π°ΠΊΠ°. Π’ΠΈΠΌ ΠΏΡ€Π²ΠΎ pwd ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ, ΠΏΠΎΡ‚ΠΎΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° whoamiΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° корисникот ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ стС најавСни.

ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ овој пристап, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ ΠΎΠ½ΠΎΠ»ΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΊΠΎΠ»ΠΊΡƒ ΡˆΡ‚ΠΎ сакатС Π½Π° Π΅Π΄Π½Π° линија, СдинствСното ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ΅ Π΅ максималниот Π±Ρ€ΠΎΡ˜ Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС прСнСсат Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ ΠΎΠ²Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ΅ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја слСднава ΠΊΠΎΠΌΠ°Π½Π΄Π°:

getconf ARG_MAX

ΠšΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија Π΅ ΠΎΠ΄Π»ΠΈΡ‡Π½Π° Π°Π»Π°Ρ‚ΠΊΠ°, Π½ΠΎ ΠΌΠΎΡ€Π° Π΄Π° внСсуватС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π²ΠΎ Π½Π΅Π° сСкогаш ΠΊΠΎΠ³Π° ќС Π²ΠΈ Π±ΠΈΠ΄Π°Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ. Π¨Ρ‚ΠΎ Π°ΠΊΠΎ напишСмС Π·Π±ΠΈΡ€ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΈ Сдноставно ја ΠΏΠΎΠ²ΠΈΠΊΠ°ΠΌΠ΅ Ρ‚Π°Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π·Π° Π΄Π° Π³ΠΈ ΠΈΠ·Π²Ρ€ΡˆΠΈ? Π’ΡΡƒΡˆΠ½ΠΎΡΡ‚, Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π·Π° која Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π° скрипта Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° линија.

Како Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π°Ρ‚ баш скриптитС

НаправСтС ΠΏΡ€Π°Π·Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° touch. ΠΠ΅Ρ˜Π·ΠΈΠ½Π°Ρ‚Π° ΠΏΡ€Π²Π° линија Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΎΠ·Π½Π°Ρ‡ΠΈ која школка ќС ја користимС. НиС смС заинтСрСсирани Π·Π° bash, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΏΡ€Π²Π°Ρ‚Π° линија ΠΎΠ΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ќС Π±ΠΈΠ΄Π΅:

#!/bin/bash

Π”Ρ€ΡƒΠ³ΠΈΡ‚Π΅ Π»ΠΈΠ½ΠΈΠΈ Π²ΠΎ ΠΎΠ²Π°Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π³ΠΎ користат симболот Π·Π° Ρ…Π°Ρˆ Π·Π° Π΄Π° ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ ΡˆΡ‚ΠΎ ΡˆΠΊΠΎΠ»ΠΊΠ°Ρ‚Π° Π½Π΅ Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π°. Π‘Π΅ΠΏΠ°ΠΊ, ΠΏΡ€Π²ΠΈΠΎΡ‚ Ρ€Π΅Π΄ Π΅ посСбСн ΡΠ»ΡƒΡ‡Π°Ρ˜, ΠΈΠΌΠ° Ρ…Π°Ρˆ прослСдСн со ΠΈΠ·Π²ΠΈΡ‡Π½ΠΈΠΊ (ΠΎΠ²Π°Π° Π½ΠΈΠ·Π° сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π° шСбанг) ΠΈ ΠΏΠ°Ρ‚ΠΎΡ‚ Π΄ΠΎ bash, ΠΎΠ·Π½Π°Ρ‡Π΅Ρ‚Π΅ ΠΌΡƒ Π½Π° систСмот Π΄Π΅ΠΊΠ° скриптата Π΅ создадСна ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½ΠΎ Π·Π° bash.

ΠšΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ Π½Π° школка сС ΠΎΠ΄Π΄Π΅Π»Π΅Π½ΠΈ со Π΄ΠΎΠ²ΠΎΠ΄ Π½Π° линија, ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡ‚Π΅ сС ΠΎΠ΄Π΄Π΅Π»Π΅Π½ΠΈ со Π·Π½Π°ΠΊ Π·Π° Ρ…Π°Ρˆ. Π’Π°ΠΊΠ° ΠΈΠ·Π³Π»Π΅Π΄Π°:

#!/bin/bash
# This is a comment
pwd
whoami

ОвдС, исто ΠΊΠ°ΠΊΠΎ ΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΈΡˆΡƒΠ²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° Π΅Π΄Π½Π° линија, ΠΎΠ΄Π΄Π΅Π»Π΅Π½ΠΈ со Ρ‚ΠΎΡ‡ΠΊΠ°-Π·Π°ΠΏΠΈΡ€ΠΊΠ°. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, Π°ΠΊΠΎ Π³ΠΈ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π»ΠΈΠ½ΠΈΠΈ, Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π΅ полСсна Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅. Π’ΠΎ сСкој ΡΠ»ΡƒΡ‡Π°Ρ˜, Π»ΡƒΡˆΠΏΠ°Ρ‚Π° ќС Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΈ.

ΠŸΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ Π·Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ со скрипти

Π—Π°Ρ‡ΡƒΠ²Π°Ρ˜Ρ‚Π΅ ја Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° давајќи ΠΈ ΠΈΠΌΠ΅ myscript, Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π·Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ Π½Π° баш скриптата Π΅ рСчиси Π·Π°Π²Ρ€ΡˆΠ΅Π½Π°. Π‘Π΅Π³Π° останува само ΠΎΠ²Π°Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΈΠ·Π²Ρ€ΡˆΠ½Π°, ΠΈΠ½Π°ΠΊΡƒ, Π°ΠΊΠΎ сС ΠΎΠ±ΠΈΠ΄Π΅Ρ‚Π΅ Π΄Π° ја ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅, ќС Π½Π°ΠΈΠ΄Π΅Ρ‚Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠ° Permission denied.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
Обид Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° со скрипта со Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ

Π”Π° ја Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΠΈΠ·Π²Ρ€ΡˆΠ½Π°:

chmod +x ./myscript

Π‘Π΅Π³Π° Π΄Π° сС ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅:

./myscript

По ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚Π΅, сè Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π°.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
Π‘Π°Ρˆ скриптата ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°

ИзлСз Π½Π° ΠΏΠΎΡ€Π°ΠΊΠ°

Π—Π° Π΄Π° ΠΈΠ·Π»Π΅Π·Π΅Ρ‚Π΅ тСкст Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° Π½Π° Linux, користСтС ја ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° echo. АјдС Π΄Π° Π³ΠΎ искористимС Π·Π½Π°Π΅ΡšΠ΅Ρ‚ΠΎ Π·Π° овој Ρ„Π°ΠΊΡ‚ ΠΈ Π΄Π° ја ΡƒΡ€Π΅Π΄ΠΈΠΌΠ΅ Π½Π°ΡˆΠ°Ρ‚Π° скрипта, додавајќи ΠΎΠ±Ρ˜Π°ΡΠ½ΡƒΠ²Π°ΡšΠ° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ сС Π΅ΠΌΠΈΡ‚ΡƒΠ²Π°Π°Ρ‚ со ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ вСќС Π²ΠΎ Π½Π΅Π³ΠΎ:

#!/bin/bash
# our comment is here
echo "The current directory is:"
pwd
echo "The user logged in is:"
whoami

Ова сС случува ΠΏΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π½Π°Ρ‚Π° скрипта.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
ИздавањС ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΎΠ΄ скрипта

Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΠΎΠ±Ρ˜Π°ΡΠ½ΡƒΠ²Π°Ρ‡ΠΊΠΈ бСлСшки ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° echo. Ако Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎ Π΄Π° ΡƒΡ€Π΅Π΄ΡƒΠ²Π°Ρ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈΡ‚Π΅ Π½Π° Linux, ΠΈΠ»ΠΈ Π½Π΅ стС ја Π²ΠΈΠ΄Π΅Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ echo, ПоглСдни овој ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π».

ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ

ΠŸΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π°Π°Ρ‚ Π΄Π° складиратС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° со скрипта, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅, Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.

НСма Π½ΠΈΡˆΡ‚ΠΎ лошо Π²ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π±Π΅Π· Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½ΠΈΠ²Π½ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ, Π½ΠΎ овој пристап Π΅ доста ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π²ΠΎ своитС моТности.

ΠŸΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС користат Π²ΠΎ баш скриптитС:

  • ΠŸΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΆΠΈΠ²ΠΎΡ‚Π½Π°Ρ‚Π° срСдина
  • ΠšΠΎΡ€ΠΈΡΠ½ΠΈΡ‡ΠΊΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ

ΠŸΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΆΠΈΠ²ΠΎΡ‚Π½Π°Ρ‚Π° срСдина

ПонСкогаш ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ Π½Π° школка Ρ‚Ρ€Π΅Π±Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ со Π½Π΅ΠΊΠΎΠΈ систСмски ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π•Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ Π΄Π° сС ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΎΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ Π½Π° Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚ корисник:

#!/bin/bash
# display user home
echo "Home for the current user is: $HOME"

Π’Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ ΠΈΠΌΠ°Ρ˜Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° користимС систСмска ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° $HOME Π²ΠΎ двојни Π½Π°Π²ΠΎΠ΄Π½ΠΈΡ†ΠΈ, ΠΎΠ²Π° Π½Π΅ΠΌΠ° Π΄Π° Π³ΠΎ спрСчи систСмот Π΄Π° Π³ΠΎ ΠΏΡ€Π΅ΠΏΠΎΠ·Π½Π°Π΅. Ова Π΅ ΠΎΠ½Π° ΡˆΡ‚ΠΎ Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°Ρ‚Π΅ Π°ΠΊΠΎ Π³ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ Π³ΠΎΡ€Π΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΡ‚ΠΎ сцСнарио.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° Π²ΠΎ скрипта

Π¨Ρ‚ΠΎ Π°ΠΊΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π·Π½Π°ΠΊ Π·Π° Π΄ΠΎΠ»Π°Ρ€ Π½Π° Π΅ΠΊΡ€Π°Π½ΠΎΡ‚? АјдС Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΠ±Π°ΠΌΠ΅ ΠΎΠ²Π°:

echo "I have $1 in my pocket"

БистСмот ќС ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ Π·Π½Π°ΠΊ Π·Π° Π΄ΠΎΠ»Π°Ρ€ Π²ΠΎ Ρ†ΠΈΡ‚ΠΈΡ€Π°Π½Π° Π½ΠΈΠ·Π° ΠΈ ќС прСтпостави Π΄Π΅ΠΊΠ° Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°Π²ΠΌΠ΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°. Π‘ΠΊΡ€ΠΈΠΏΡ‚Π°Ρ‚Π° ќС сС ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° ја ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ врСдноста Π½Π° Π½Π΅Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° $1. Ова Π½Π΅ Π΅ ΠΎΠ½Π° ΡˆΡ‚ΠΎ Π½ΠΈ Ρ‚Ρ€Π΅Π±Π°. Π¨Ρ‚ΠΎ Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ?

Π’ΠΎ ΠΎΠ²Π°Π° ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°, ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Π·Π½Π°ΠΊΠΎΡ‚ Π·Π° бСгство, ΠΎΠ±Ρ€Π°Ρ‚Π½Π° коса Ρ†Ρ€Ρ‚Π°, ΠΏΡ€Π΅Π΄ Π·Π½Π°ΠΊΠΎΡ‚ Π·Π° Π΄ΠΎΠ»Π°Ρ€ ќС ΠΏΠΎΠΌΠΎΠ³Π½Π΅:

echo "I have $1 in my pocket"

Π‘ΠΊΡ€ΠΈΠΏΡ‚Π°Ρ‚Π° сСга ќС ΠΈΠ·Π»Π΅Π·Π΅ Ρ‚ΠΎΠΊΠΌΡƒ ΠΎΠ½Π° ΡˆΡ‚ΠΎ сС ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Π½ΠΈΠ·Π° Π·Π° бСгство Π·Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π΅ΡšΠ΅ Π·Π½Π°ΠΊ Π·Π° Π΄ΠΎΠ»Π°Ρ€

ΠšΠΎΡ€ΠΈΡΠ½ΠΈΡ‡ΠΊΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ

ΠŸΠΎΠΊΡ€Π°Ρ˜ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π°, баш скриптитС Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π°Π°Ρ‚ Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ ΠΈ користитС сопствСни ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π²ΠΎ скриптата. Π’Π°ΠΊΠ²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈΠΌΠ°Π°Ρ‚ врСдност Π΄ΠΎΠ΄Π΅ΠΊΠ° скриптата Π½Π΅ Π·Π°Π²Ρ€ΡˆΠΈ со ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅.

Како ΠΈ кај систСмскитС ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Π΄ΠΎ корисничкитС ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС пристапи со помош Π½Π° Π·Π½Π°ΠΊΠΎΡ‚ Π΄ΠΎΠ»Π°Ρ€:
TNW-CUS-FMP - ΠΏΡ€ΠΎΠΌΠΎΡ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄ Π·Π° 10% попуст Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ услуги, достапСн Π·Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ Ρ€ΠΎΠΊ ΠΎΠ΄ 7 Π΄Π΅Π½Π°

#!/bin/bash
# testing variables
grade=5
person="Adam"
echo "$person is a good boy, he is in grade $grade"

Ова сС случува ΠΏΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π°ΠΊΠ²Π° скрипта.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
ΠŸΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π²ΠΎ скрипта

Π—Π°ΠΌΠ΅Π½Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ

Π•Π΄Π½Π° ΠΎΠ΄ Π½Π°Ρ˜ΠΊΠΎΡ€ΠΈΡΠ½ΠΈΡ‚Π΅ карактСристики Π½Π° баш скриптитС Π΅ способноста Π΄Π° сС ΠΈΠ·Π²Π»Π΅Ρ‡Π°Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ΄ ΠΈΠ·Π»Π΅Π·ΠΎΡ‚ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ΠΈ Π΄Π° сС Π΄ΠΎΠ΄Π΅Π»ΡƒΠ²Π°Π°Ρ‚ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΡˆΡ‚ΠΎ ќС Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° Π³ΠΈ користитС ΠΎΠ²ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π΄Π΅ Π±ΠΈΠ»ΠΎ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° со скрипта.

Ова ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½Π° Π΄Π²Π° Π½Π°Ρ‡ΠΈΠ½Π°.

  • ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ Π·Π°Π΄Π΅Π½ Π·Π½Π°ΠΊ β€ž`β€œ
  • По дизајн $()

Кога Π³ΠΎ користитС ΠΏΡ€Π²ΠΈΠΎΡ‚ пристап, Π²Π½ΠΈΠΌΠ°Π²Π°Ρ˜Ρ‚Π΅ Π΄Π° Π½Π΅ Π²ΠΊΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π½ΠΈΡ‚Ρƒ Π΅Π΄Π΅Π½ Π½Π°Π²ΠΎΠ΄Π½ΠΈΠΊ Π½Π° мСстото Π½Π° Π·Π°Π΄Π½ΠΈΠ½Π°Ρ‚Π°. ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π΅ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½Π° Π²ΠΎ Π΄Π²Π΅ Ρ‚Π°ΠΊΠ²ΠΈ ΠΈΠΊΠΎΠ½ΠΈ:

mydir=`pwd`

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΈΠΎΡ‚ пристап, истото Π΅ напишано Π²Π°ΠΊΠ°:

mydir=$(pwd)

И сцСнариото ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π²Ρ€ΡˆΠΈ Π²Π°ΠΊΠ°:

#!/bin/bash
mydir=$(pwd)
echo $mydir

Π—Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ΡšΠ΅, ΠΈΠ·Π»Π΅Π·ΠΎΡ‚ ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° pwdќС сС Π·Π°Ρ‡ΡƒΠ²Π° Π²ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° mydir, Ρ‡ΠΈΡ˜Π° содрТина, ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° echo, ќС ΠΎΠ΄ΠΈ Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π°.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
Π‘ΠΊΡ€ΠΈΠΏΡ‚Π° ΡˆΡ‚ΠΎ Π³ΠΈ Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π²ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π—Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΎ скрипта Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° користитС ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ˜Π° ΠΊΠ°ΠΊΠΎ $((a+b)):

#!/bin/bash
var1=$(( 5 + 5 ))
echo $var1
var2=$(( $var1 * 2 ))
echo $var2

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΎ скрипта

Π°ΠΊΠΎ-Ρ‚ΠΎΠ³Π°Ρˆ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ˜Π°

Π’ΠΎ Π½Π΅ΠΊΠΎΠΈ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡ˜Π°, Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Ρ‚Π΅ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½Π° врСдност Π΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΎΠ΄ ΠΏΠ΅Ρ‚, Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ Π΅Π΄Π½ΠΎ Π΄Π΅Ρ˜ΡΡ‚Π²ΠΎ, Π²ΠΎ спротивно, Π΄Ρ€ΡƒΠ³ΠΎ. Ова Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π»ΠΈΠ²ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³Ρƒ ситуации, ΠΈ Ρ‚ΡƒΠΊΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° структура ќС Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ if-then. Π’ΠΎ ΡΠ²ΠΎΡ˜Π°Ρ‚Π° Π½Π°Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½Π° Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:

if ΠΊΠΎΠΌΠ°Π½Π΄Π°
then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
fi

Π•Π²Π΅ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

#!/bin/bash
if pwd
then
echo "It works"
fi

Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, Π°ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π΅ ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½Π° pwdќС Π·Π°Π²Ρ€ΡˆΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, тСкстот β€žΡ€Π°Π±ΠΎΡ‚ΠΈβ€œ ќС сС ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ Π²ΠΎ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π°.

Π”Π° Π³ΠΎ искористимС Π·Π½Π°Π΅ΡšΠ΅Ρ‚ΠΎ ΡˆΡ‚ΠΎ Π³ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΈ Π΄Π° напишСмС покомплСксна скрипта. Π”Π° Ρ€Π΅Ρ‡Π΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° најдСмС ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ корисник Π²ΠΎ /etc/passwd, Π° Π΄ΠΎΠΊΠΎΠ»ΠΊΡƒ успСавтС Π΄Π° Π³ΠΎ Π½Π°Ρ˜Π΄Π΅Ρ‚Π΅, ΠΏΡ€ΠΈΡ˜Π°Π²ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠ° постои.

#!/bin/bash
user=likegeeks
if grep $user /etc/passwd
then
echo "The user $user Exists"
fi

Ова сС случува ΠΏΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ²Π°Π° скрипта.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
ΠšΠΎΡ€ΠΈΡΠ½ΠΈΡ‡ΠΊΠΎ ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅

Π’ΡƒΠΊΠ° ја користСвмС ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° grepΠ΄Π° Π±Π°Ρ€Π°Ρ‚Π΅ корисник Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° /etc/passwd. Π”ΠΎΠΊΠΎΠ»ΠΊΡƒ Ρ‚ΠΈΠΌΠΎΡ‚ grepΠ½Π΅ΠΏΠΎΠ·Π½Π°Ρ‚ Π·Π° вас, Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ опис ΠΌΠΎΠΆΠ΅ Π΄Π° сС најдС Ρ‚ΡƒΠΊΠ°.

Π’ΠΎ овој ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ корисникот Π΅ ΠΏΡ€ΠΎΠ½Π°Ρ˜Π΄Π΅Π½, скриптата ќС ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ соодвСтна ΠΏΠΎΡ€Π°ΠΊΠ°. Π¨Ρ‚ΠΎ Π°ΠΊΠΎ корисникот Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС најдС? Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, сцСнариото Сдноставно ќС Π³ΠΎ Π·Π°Π²Ρ€ΡˆΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π±Π΅Π· Π΄Π° Π½ΠΈ ΠΊΠ°ΠΆΠ΅ Π½ΠΈΡˆΡ‚ΠΎ. Π‘ΠΈ сакалС Ρ‚ΠΎΡ˜ Π΄Π° Π½ΠΈ ΠΊΠ°ΠΆΠ΅ ΠΈ Π·Π° ΠΎΠ²Π°, ΠΏΠ° ќС Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌΠ΅ ΠΊΠΎΠ΄ΠΎΡ‚.

Π°ΠΊΠΎ-Ρ‚ΠΎΠ³Π°Ρˆ-ΠΈΠ½Π°ΠΊΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ˜Π°

Π—Π° Π΄Π° ΠΌΠΎΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π΄Π° Π³ΠΈ ΠΏΡ€ΠΈΡ˜Π°Π²ΠΈ ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡ‚ΠΎ ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ ΠΈ нСуспСхот, ќС ја искористимС ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° if-then-else. Π•Π²Π΅ ΠΊΠ°ΠΊΠΎ Ρ‚ΠΎΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°:

if ΠΊΠΎΠΌΠ°Π½Π΄Π°
then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
else
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
fi

Ако ΠΏΡ€Π²Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ€Π°Ρ‚ΠΈ Π½ΡƒΠ»Π°, ΡˆΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½Π°, условот ќС Π±ΠΈΠ΄Π΅ Ρ‚ΠΎΡ‡Π΅Π½ ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π΅ΠΌΠ° Π΄Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ ΠΏΠΎ Π³Ρ€Π°Π½ΠΊΠ°Ρ‚Π° else. Π’ΠΎ спротивно, Π°ΠΊΠΎ сС Π²Ρ€Π°Ρ‚ΠΈ Π½Π΅ΡˆΡ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ освСн Π½ΡƒΠ»Π°, ΡˆΡ‚ΠΎ Π±ΠΈ ΡƒΠΊΠ°ΠΆΠ°Π»ΠΎ Π½Π° нСуспСх ΠΈΠ»ΠΈ Π»Π°ΠΆΠ΅Π½ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚, ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ ΠΏΠΎ else.

АјдС Π΄Π° Π³ΠΎ напишСмС слСдново сцСнарио:

#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
else
echo "The user $user doesn’t exist"
fi

НСговата Π΅Π³Π·Π΅ΠΊΡƒΡ†ΠΈΡ˜Π° ΠΏΠ°Π΄Π½Π° Π²ΠΎ Π²ΠΎΠ΄Π° else.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
Π’ΠΎΠ΄Π΅ΡšΠ΅ Π½Π° скрипта со ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ˜Π° Π°ΠΊΠΎ-Ρ‚ΠΎΠ³Π°Ρˆ-ΠΈΠ½Π°ΠΊΡƒ

Па, Π΄Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌΠ΅ ΠΈ Π΄Π° сС Π·Π°ΠΏΡ€Π°ΡˆΠ°ΠΌΠ΅ Π·Π° послоТСни услови. Π¨Ρ‚ΠΎ Π°ΠΊΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π½Π΅ Π΅Π΄Π΅Π½ услов, Ρ‚ΡƒΠΊΡƒ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ? На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ сС најдС саканиот корисник, Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ Π΅Π΄Π½Π° ΠΏΠΎΡ€Π°ΠΊΠ°, Π°ΠΊΠΎ Π΅ исполнСт нСкој Π΄Ρ€ΡƒΠ³ услов, Π΄Π° сС ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ Π΄Ρ€ΡƒΠ³Π° ΠΏΠΎΡ€Π°ΠΊΠ° ΠΈΡ‚Π½. Π’ΠΎ Ρ‚Π°ΠΊΠ²Π° ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π° ќС Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π²Π³Π½Π΅Π·Π΄Π΅Π½ΠΈΡ‚Π΅ услови. ИзглСда Π²Π°ΠΊΠ°:

if ΠΊΠΎΠΌΠ°Π½Π΄Π°1
then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
elif ΠΊΠΎΠΌΠ°Π½Π΄Π°2
then
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
fi

Ако ΠΏΡ€Π²Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ€Π°Ρ‚ΠΈ Π½ΡƒΠ»Π°, ΡˆΡ‚ΠΎ ΡƒΠΊΠ°ΠΆΡƒΠ²Π° Π½Π° Π½Π΅Ρ˜Π·ΠΈΠ½ΠΎΡ‚ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅, ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ Π²ΠΎ ΠΏΡ€Π²ΠΈΠΎΡ‚ Π±Π»ΠΎΠΊ ќС Π±ΠΈΠ΄Π°Ρ‚ ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ΠΈ then, Π²ΠΎ спротивно, Π°ΠΊΠΎ ΠΏΡ€Π²ΠΈΠΎΡ‚ услов Π΅ Π½Π΅Ρ‚ΠΎΡ‡Π΅Π½ ΠΈ Π°ΠΊΠΎ Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ€Π°Ρ‚ΠΈ Π½ΡƒΠ»Π°, ќС сС ΠΈΠ·Π²Ρ€ΡˆΠΈ Π²Ρ‚ΠΎΡ€ΠΈΠΎΡ‚ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄.

#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
elif ls /home
then
echo "The user doesn’t exist but anyway there is a directory under /home"
fi

Π’ΠΎ Ρ‚Π°ΠΊΠ²Π° скрипта, ΠΌΠΎΠΆΠ΅Ρ‚Π΅, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ Π½ΠΎΠ² корисник ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° useradd, Π°ΠΊΠΎ ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π΅ Π΄Π°Π΄Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½Π΅ΡˆΡ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ корисно.

Π‘ΠΏΠΎΡ€Π΅Π΄Π±Π° Π½Π° Π±Ρ€ΠΎΠ΅Π²ΠΈ

Π’ΠΎ скриптитС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° спорСдуватС Π½ΡƒΠΌΠ΅Ρ€ΠΈΡ‡ΠΊΠΈ врСдности. ΠŸΠΎΠ΄ΠΎΠ»Ρƒ Π΅ листа Π½Π° Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.

n1 -eq n2Π‘Π΅ Π²Ρ€Π°ΡœΠ° Ρ‚ΠΎΡ‡Π½ΠΎ Π°ΠΊΠΎ n1 Π΅Π΄Π½Π°ΠΊΠ²ΠΎ n2.
n1 -ge n2 Π‘Π΅ Π²Ρ€Π°ΡœΠ° Ρ‚ΠΎΡ‡Π½ΠΎ Π°ΠΊΠΎ n1повСќС ΠΈΠ»ΠΈ Π΅Π΄Π½Π°ΠΊΠ²ΠΈ n2.
n1 -gt n2Π‘Π΅ Π²Ρ€Π°ΡœΠ° Ρ‚ΠΎΡ‡Π½ΠΎ Π°ΠΊΠΎ n1 ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ n2.
n1 -le n2Π‘Π΅ Π²Ρ€Π°ΡœΠ° Ρ‚ΠΎΡ‡Π½ΠΎ Π°ΠΊΠΎ n1ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ ΠΈΠ»ΠΈ Π΅Π΄Π½Π°ΠΊΠ²ΠΈ n2.
n1 -lt n2Π‘Π΅ Π²Ρ€Π°ΡœΠ° Ρ‚ΠΎΡ‡Π½ΠΎ Π°ΠΊΠΎ n1 Π΅ ΠΏΠΎΠΌΠ°Π»ΠΎ ΠΎΠ΄ n2.
n1 -ne n2Π‘Π΅ Π²Ρ€Π°ΡœΠ° Ρ‚ΠΎΡ‡Π½ΠΎ Π°ΠΊΠΎ n1Π½Π΅ Π΅ Π΅Π΄Π½Π°ΠΊΠ²ΠΎ n2.

Како ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° ΠΏΡ€ΠΎΠ±Π°ΠΌΠ΅ Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π·Π° спорСдба. Π—Π°Π±Π΅Π»Π΅ΠΆΠ΅Ρ‚Π΅ Π΄Π΅ΠΊΠ° ΠΈΠ·Ρ€Π°Π·ΠΎΡ‚ Π΅ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½ Π²ΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΈ Π·Π°Π³Ρ€Π°Π΄ΠΈ.

#!/bin/bash
val1=6
if [ $val1 -gt 5 ]
then
echo "The test value $val1 is greater than 5"
else
echo "The test value $val1 is not greater than 5"
fi

Ова Π΅ ΠΎΠ½Π° ΡˆΡ‚ΠΎ ΠΎΠ²Π°Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ќС ΠΈΠ·Π»Π΅Π·Π΅.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
Π‘ΠΏΠΎΡ€Π΅Π΄Π±Π° Π½Π° Π±Ρ€ΠΎΠ΅Π²ΠΈ Π²ΠΎ скрипти

ΠŸΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° врСдност val1ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΎΠ΄ 5, Π³Ρ€Π°Π½ΠΊΠ°Ρ‚Π° Π·Π°Π²Ρ€ΡˆΡƒΠ²Π° со ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ thenΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π° спорСдба ΠΈ Π²ΠΎ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° сС ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π° соодвСтна ΠΏΠΎΡ€Π°ΠΊΠ°.

Π‘ΠΏΠΎΡ€Π΅Π΄Π±Π° Π½Π° ΠΆΠΈΡ†ΠΈ

Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ‚Π΅ исто Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ спорСдуваат врСдноститС Π½Π° Π½ΠΈΠ·Π°Ρ‚Π°. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π·Π° спорСдба ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ‚ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Сдноставно, Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° спорСдба Π½Π° Π½ΠΈΠ·ΠΈ ΠΈΠΌΠ°Π°Ρ‚ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ карактСристики, ΠΊΠΎΠΈ ќС Π³ΠΈ Π΄ΠΎΠΏΡ€Π΅ΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΠ»Ρƒ. Π•Π²Π΅ список Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ.

str1 = str2 Π“ΠΈ тСстира Π½ΠΈΠ·ΠΈΡ‚Π΅ Π·Π° Сднаквост, Π²Ρ€Π°ΡœΠ°Ρ˜ΡœΠΈ Π³ΠΎ true Π°ΠΊΠΎ Π½ΠΈΠ·ΠΈΡ‚Π΅ сС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΈ.
str1 != str2Π‘Π΅ Π²Ρ€Π°ΡœΠ° Ρ‚ΠΎΡ‡Π½ΠΎ Π°ΠΊΠΎ Π½ΠΈΠ·ΠΈΡ‚Π΅ Π½Π΅ сС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΈ.
str1 < str2Π‘Π΅ Π²Ρ€Π°ΡœΠ° Ρ‚ΠΎΡ‡Π½ΠΎ Π°ΠΊΠΎ str1ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ ΠΎΠ΄ str2.
str1 > str2 Π‘Π΅ Π²Ρ€Π°ΡœΠ° Ρ‚ΠΎΡ‡Π½ΠΎ Π°ΠΊΠΎ str1повСќС ΠΎΠ΄ str2.
-n str1 Π‘Π΅ Π²Ρ€Π°ΡœΠ° Ρ‚ΠΎΡ‡Π½ΠΎ Π°ΠΊΠΎ Π΄ΠΎΠ»ΠΆΠΈΠ½Π°Ρ‚Π° str1Над Π½ΡƒΠ»Π°.
-z str1Π‘Π΅ Π²Ρ€Π°ΡœΠ° Ρ‚ΠΎΡ‡Π½ΠΎ Π°ΠΊΠΎ Π΄ΠΎΠ»ΠΆΠΈΠ½Π°Ρ‚Π° str1Π΅Π΄Π½Π°ΠΊΠ²Π° Π½Π° Π½ΡƒΠ»Π°.

Π•Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½ΠΈΠ·ΠΈ Π²ΠΎ скрипта:

#!/bin/bash
user ="likegeeks"
if [$user = $USER]
then
echo "The user $user  is the current logged in user"
fi

Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° сцСнариото, Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ слСдново.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
Π‘ΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½ΠΈΠ·ΠΈ Π²ΠΎ скрипти

Π•Π²Π΅ Π΅Π΄Π½Π° карактСристика Π½Π° спорСдба Π½Π° ΠΆΠΈΡ†ΠΈ ΡˆΡ‚ΠΎ Π²Ρ€Π΅Π΄ΠΈ Π΄Π° сС спомСнС. ИмСно, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ β€ž>β€œ ΠΈ β€ž<β€œ ΠΌΠΎΡ€Π° Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π°Ρ‚ со ΠΎΠ±Ρ€Π°Ρ‚Π½Π° коса Ρ†Ρ€Ρ‚Π°, ΠΈΠ½Π°ΠΊΡƒ скриптата Π½Π΅ΠΌΠ° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, ΠΈΠ°ΠΊΠΎ Π½Π΅ΠΌΠ° Π΄Π° сС ΠΏΠΎΡ˜Π°Π²Π°Ρ‚ ΠΏΠΎΡ€Π°ΠΊΠΈ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠ°. Π‘ΠΊΡ€ΠΈΠΏΡ‚Π°Ρ‚Π° Π³ΠΎ Ρ‚ΠΎΠ»ΠΊΡƒΠ²Π° Π·Π½Π°ΠΊΠΎΡ‚ β€ž>β€œ ΠΊΠ°ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΠΏΡ€Π΅Π½Π°ΡΠΎΡ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΈΠ·Π»Π΅Π·ΠΎΡ‚.

Π•Π²Π΅ ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° со ΠΎΠ²ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ Π²ΠΎ ΠΊΠΎΠ΄:

#!/bin/bash
val1=text
val2="another text"
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

Π•Π²Π΅ Π³ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄ сцСнариото.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
Π‘ΠΏΠΎΡ€Π΅Π΄Π±Π° Π½Π° Π½ΠΈΠ·ΠΈ, Π΄Π°Π΄Π΅Π½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅

Π’Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ ΠΈΠΌΠ°Ρ˜Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° скриптата, ΠΈΠ°ΠΊΠΎ Π΅ ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½Π°, ΠΈΠ·Π΄Π°Π²Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅:

./myscript: line 5: [: too many arguments

Π—Π° Π΄Π° сС ослободимС ΠΎΠ΄ ΠΎΠ²Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅, Π·Π°ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΠΌΠ΅ $val2 Π²ΠΎ двојни Π½Π°Π²ΠΎΠ΄Π½ΠΈΡ†ΠΈ:

#!/bin/bash
val1=text
val2="another text"
if [ $val1 > "$val2" ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

Π‘Π΅Π³Π° сè Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π°.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
Π‘ΠΏΠΎΡ€Π΅Π΄Π±Π° Π½Π° ΠΆΠΈΡ†ΠΈ

Π”Ρ€ΡƒΠ³Π° карактСристика Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ β€ž>β€œ ΠΈ β€ž<β€œ Π΅ ΠΊΠ°ΠΊΠΎ Ρ‚ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ со Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈ ΠΌΠ°Π»ΠΈ Π·Π½Π°Ρ†ΠΈ. Π—Π° Π΄Π° ја Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌΠ΅ ΠΎΠ²Π°Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°, Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΠΌΠ΅ тСкстуална Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° со слСднава содрТина:

Likegeeks
likegeeks

Π”Π° Π³ΠΎ спасимС со Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ ќС ΠΌΡƒ Π΄Π°Π΄Π΅ΠΌΠ΅ ΠΈΠΌΠ΅ myfile, ΠΏΠΎΡ‚ΠΎΠ° ΠΈΠ·Π²Ρ€ΡˆΠ΅Ρ‚Π΅ ја слСднава ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΡ‚:

sort myfile

ЌС Π³ΠΈ ΠΏΠΎΠ΄Ρ€Π΅Π΄ΠΈ Π»ΠΈΠ½ΠΈΠΈΡ‚Π΅ ΠΎΠ΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π²Π°ΠΊΠ°:

likegeeks
Likegeeks

Π’ΠΈΠΌ sort, стандардно, Π³ΠΈ ΠΏΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π° Π½ΠΈΠ·ΠΈΡ‚Π΅ Π²ΠΎ растСчки рСдослСд, односно ΠΌΠ°Π»Π°Ρ‚Π° Π±ΡƒΠΊΠ²Π° Π²ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅ ΠΏΠΎΠΌΠ°Π»Π° ΠΎΠ΄ Π³ΠΎΠ»Π΅ΠΌΠ°Ρ‚Π°. Π‘Π΅Π³Π° Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΠΌΠ΅ скрипта ΡˆΡ‚ΠΎ ќС Π³ΠΈ спорСдува иститС ΠΆΠΈΡ†ΠΈ:

#!/bin/bash
val1=Likegeeks
val2=likegeeks
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

Ако Π³ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅, ΠΈΠ·Π»Π΅Π³ΡƒΠ²Π° Π΄Π΅ΠΊΠ° сè Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ - ΠΌΠ°Π»Π°Ρ‚Π° Π±ΡƒΠΊΠ²Π° сСга Π΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΎΠ΄ Π³ΠΎΠ»Π΅ΠΌΠ°Ρ‚Π°.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° ΡΠΎΡ€Ρ‚ΠΈΡ€Π°ΡšΠ΅ ΠΈ ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½ΠΈΠ·ΠΈ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° со скрипта

Π’ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ Π·Π° спорСдба, Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Π±ΡƒΠΊΠ²ΠΈ сС ΠΏΠΎΠΌΠ°Π»ΠΈ ΠΎΠ΄ ΠΌΠ°Π»ΠΈΡ‚Π΅ Π±ΡƒΠΊΠ²ΠΈ. Π‘ΠΏΠΎΡ€Π΅Π΄Π±Π°Ρ‚Π° Π½Π° Π½ΠΈΠ·ΠΈ ΠΎΠ²Π΄Π΅ сС ΠΏΡ€Π°Π²ΠΈ со ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° ASCII ΠΊΠΎΠ΄ΠΎΠ²ΠΈΡ‚Π΅ Π½Π° Π·Π½Π°Ρ†ΠΈΡ‚Π΅, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ рСдослСдот Π½Π° ΡΠΎΡ€Ρ‚ΠΈΡ€Π°ΡšΠ΅ зависи ΠΎΠ΄ ΡˆΠΈΡ„Ρ€ΠΈΡ‚Π΅ Π½Π° Π·Π½Π°Ρ†ΠΈΡ‚Π΅.

Π’ΠΈΠΌ sort, ΠΏΠ°ΠΊ, Π³ΠΎ користи рСдослСдот Π½Π° ΡΠΎΡ€Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π°Π²Π΅Π΄Π΅Π½ Π²ΠΎ поставкитС Π·Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π½Π° систСмот.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ

МоТСби слСднитС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ сС користат Π½Π°Ρ˜Ρ‡Π΅ΡΡ‚ΠΎ Π²ΠΎ баш скриптитС. Π’ΠΈΠ΅ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π°Π°Ρ‚ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ услови Π²ΠΎ врска со Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅. Π•Π²Π΅ список Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.

-d fileΠŸΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ постои Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΈ Π΄Π°Π»ΠΈ Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ.
-e fileΠŸΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° постои.
-f file ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ постои Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΈ Π΄Π°Π»ΠΈ Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°.
-r fileΠŸΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° постои ΠΈ Π΄Π°Π»ΠΈ Π΅ Ρ‡ΠΈΡ‚Π»ΠΈΠ²Π°.
-s file ΠŸΠŸΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° постои ΠΈ Π½Π΅ Π΅ ΠΏΡ€Π°Π·Π½Π°.
-w fileΠŸΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° постои ΠΈ Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС запишС.
-x fileΠŸΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° постои ΠΈ Π΄Π°Π»ΠΈ Π΅ ΠΈΠ·Π²Ρ€ΡˆΠ½Π°.
file1 -nt file2 ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ Π΅ ΠΏΠΎΠ½ΠΎΠ² file1ΠΎΠ΄ file2.
file1 -ot file2ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ Π΅ постаро file1ΠΎΠ΄ file2.
-O file ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° постои ΠΈ Π΅ Π²ΠΎ сопствСност Π½Π° Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚ корисник.
-G fileΠŸΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° постои ΠΈ Π΄Π°Π»ΠΈ Π½Π΅Ρ˜Π·ΠΈΠ½ΠΈΠΎΡ‚ ID Π½Π° Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° сС совпаѓа со ID Π½Π° Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° Π½Π° Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚ корисник.

ОвиС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ Π΄Ρ€ΡƒΠ³ΠΈ Π·Π° ΠΊΠΎΠΈ сС дискутира дСнСс, лСсно сС ΠΏΠ°ΠΌΠ΅Ρ‚Π°Ρ‚. НивнитС имиња, бидСјќи сС ΠΊΡ€Π°Ρ‚Π΅Π½ΠΊΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ, Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΡƒΠΊΠ°ΠΆΡƒΠ²Π°Π°Ρ‚ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ Π³ΠΈ Π²Ρ€ΡˆΠ°Ρ‚.

АјдС Π΄Π° ΠΏΡ€ΠΎΠ±Π°ΠΌΠ΅ Π΅Π΄Π½Π° ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ Π²ΠΎ пракса:

#!/bin/bash
mydir=/home/likegeeks
if [ -d $mydir ]
then
echo "The $mydir directory exists"
cd $ mydir
ls
else
echo "The $mydir directory does not exist"
fi

Оваа скрипта, Π·Π° постоСчки Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ, ќС ја ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° содрТина.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ
ΠΠ°Π²Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° содрТината Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚

НиС Π²Π΅Ρ€ΡƒΠ²Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сами Π΄Π° СкспСримСнтиратС со прСостанатитС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ; ситС Ρ‚ΠΈΠ΅ сС користат спорСд истиот ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ.

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄

ДСнСс Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°Π²ΠΌΠ΅ Π·Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° ΠΏΠΈΡˆΡƒΠ²Π°Ρ‚Π΅ баш скрипти ΠΈ ΠΎΠΏΡ„Π°Ρ‚ΠΈΠ²ΠΌΠ΅ Π½Π΅ΠΊΠΎΠΈ основни Ρ€Π°Π±ΠΎΡ‚ΠΈ. Π’ΡΡƒΡˆΠ½ΠΎΡΡ‚, Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π·Π° баш ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΡšΠ΅ Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Π°. Оваа ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° Π΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° ΠΏΡ€Π²ΠΈΠΎΡ‚ Π΄Π΅Π» ΠΎΠ΄ Π³ΠΎΠ»Π΅ΠΌΠ°Ρ‚Π° ΡΠ΅Ρ€ΠΈΡ˜Π° ΠΎΠ΄ 11 ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈ. Ако сакатС Π΄Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅ Ρ‚ΠΎΠΊΠΌΡƒ сСга, Π΅Π²Π΅ листа Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΠΈΡ‚Π΅ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈ. Π—Π° погодност, Ρ‡ΠΈΡ˜ ΠΏΡ€Π΅Π²ΠΎΠ΄ ΡˆΡ‚ΠΎΡ‚ΡƒΠΊΡƒ Π³ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π²Ρ‚Π΅ Π΅ Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ ΠΎΠ²Π΄Π΅.

  1. Π‘Π°Ρˆ скрипта Ρ‡Π΅ΠΊΠΎΡ€ ΠΏΠΎ Ρ‡Π΅ΠΊΠΎΡ€ β€” ΠΎΠ²Π΄Π΅ Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° создаватС баш скрипти, сС Ρ€Π°Π·Π³Π»Π΅Π΄ΡƒΠ²Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, опишани сС условни структури, прСсмСтки, спорСдби Π½Π° Π±Ρ€ΠΎΠ΅Π²ΠΈ, Π½ΠΈΠ·ΠΈ ΠΈ дознавањС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅.
  2. Bash ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅ Π”Π΅Π» 2, Bash the awesome β€” ΠΎΠ²Π΄Π΅ сС ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π°Ρ‚ карактСристикитС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° со Π·Π° ΠΈ Π΄ΠΎΠ΄Π΅ΠΊΠ° Ρ˜Π°ΠΌΠΊΠΈΡ‚Π΅.
  3. Π‘Π°Ρˆ ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅ Π”Π΅Π» 3, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΈ ΠΎΠΏΡ†ΠΈΠΈ β€” овој ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π» Π΅ посвСтСн Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ ΠΈ ΠΊΠΎΠΏΡ‡ΠΈΡšΠ°Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС прСнСсат Π½Π° скрипти, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ˜ΡœΠΈ со ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΡˆΡ‚ΠΎ корисникот Π³ΠΈ внСсува ΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ‡ΠΈΡ‚Π°Π°Ρ‚ ΠΎΠ΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅.
  4. Bash ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅ Π”Π΅Π» 4, Π²Π»Π΅Π· ΠΈ ΠΈΠ·Π»Π΅Π· - ΠΎΠ²Π΄Π΅ Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° дСскриптори Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со Π½ΠΈΠ², Π·Π° Π²Π»Π΅Π·, ΠΈΠ·Π»Π΅Π·, Ρ‚Π΅ΠΊΠΎΠ²ΠΈ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π·Π° ΠΏΡ€Π΅Π½Π°ΡΠΎΡ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΈΠ·Π»Π΅Π·ΠΎΡ‚.
  5. Bash ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅ Π”Π΅Π» 5, Sighals & Jobs β€” овој ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π» Π΅ посвСтСн Π½Π° сигналитС Π½Π° Линукс, Π½ΠΈΠ²Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²ΠΎ скрипти ΠΈ Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ скрипти ΠΏΠΎ распорСд.
  6. Π‘Π°Ρˆ ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅ Π”Π΅Π» 6, Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” ΠΎΠ²Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ Π·Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎ скрипти ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡšΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.
  7. Π‘Π°Ρˆ ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅ Π”Π΅Π» 7, ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° сСд β€” ΠΎΠ²Π°Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° Π΅ посвСтСна Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° со ΡƒΡ€Π΅Π΄ΡƒΠ²Π°Ρ‡ΠΎΡ‚ Π½Π° тСкст sed стриминг.
  8. Π‘Π°Ρˆ ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅ Π”Π΅Π» 8, ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° awk β€” овој ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π» Π΅ посвСтСн Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ awk.
  9. Π‘Π°Ρˆ ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅ Π”Π΅Π» 9, Π Π΅Π΄ΠΎΠ²Π½ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ β€” ΠΎΠ²Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚Π΅ Π·Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Ρ€Π΅Π³ΡƒΠ»Π°Ρ€Π½ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ Π²ΠΎ баш скрипти.
  10. Π‘Π°Ρˆ ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅ Π”Π΅Π» 10, ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ β€” Π΅Π²Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° со ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС испратат Π΄ΠΎ корисницитС, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° слСдСњС Π½Π° дискот.
  11. Bash ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅ Π”Π΅Π» 11, ΠžΡ‡Π΅ΠΊΡƒΠ²Π°Ρ˜Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° β€” овој ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π» Π΅ посвСтСн Π½Π° Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° Expect, со која ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° со ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΊΠΎΠΌΡƒΠ½Π°Π»Π½ΠΈ услуги. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Π½ΠΈ скрипти ΠΈ Π½ΠΈΠ²Π½Π°Ρ‚Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° со баш скрипти ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ.

Π‘ΠΌΠ΅Ρ‚Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π΅Π΄Π½Π° ΠΎΠ΄ Π²Ρ€Π΅Π΄Π½ΠΈΡ‚Π΅ карактСристики Π½Π° ΠΎΠ²Π°Π° ΡΠ΅Ρ€ΠΈΡ˜Π° написи Π΅ Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ, ΠΏΠΎΡ‡Π½ΡƒΠ²Π°Ρ˜ΡœΠΈ ΠΎΠ΄ Π½Π°Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΈΡ‚Π΅, ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈ Π·Π° корисници ΠΎΠ΄ ΠΊΠΎΠ΅ Π±ΠΈΠ»ΠΎ Π½ΠΈΠ²ΠΎ, постСпСно Π²ΠΎΠ΄ΠΈ Π΄ΠΎ доста сСриозни Ρ‚Π΅ΠΌΠΈ, давајќи ΠΈΠΌ шанса Π½Π° ситС Π΄Π° Π½Π°ΠΏΡ€Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ скрипти Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија Π½Π° Linux .

ΠŸΠΎΡ‡ΠΈΡ‚ΡƒΠ²Π°Π½ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! Π“ΠΈ Π·Π°ΠΌΠΎΠ»ΡƒΠ²Π°ΠΌΠ΅ баш-програмскитС Π³ΡƒΡ€ΡƒΠ° Π΄Π° Π·Π±ΠΎΡ€ΡƒΠ²Π°Π°Ρ‚ Π·Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ Π³ΠΈ достигналС височинитС Π½Π° своСто ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€ΡΡ‚Π²ΠΎ, Π΄Π° Π³ΠΈ сподСлат своитС Ρ‚Π°Ρ˜Π½ΠΈ ΠΈ со Π½Π΅Ρ‚Ρ€ΠΏΠ΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°ΠΌΠ΅ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ ΡˆΡ‚ΠΎΡ‚ΡƒΠΊΡƒ Π³ΠΎ напишалС своСто ΠΏΡ€Π²ΠΎ сцСнарио.

Π‘Π°Ρˆ скрипти: ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ

Π‘Π°ΠΌΠΎ рСгистрирани корисници ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° учСствуваат Π²ΠΎ Π°Π½ΠΊΠ΅Ρ‚Π°Ρ‚Π°. Најави сС, Π²ΠΈΠ΅ стС Π΄ΠΎΠ±Ρ€Π΅Π΄ΠΎΡ˜Π΄Π΅Π½ΠΈ.

Π”Π°Π»ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ ΠΏΡ€Π΅Π²Π΅Π΄Π°ΠΌ остатокот ΠΎΠ΄ ΡΠ΅Ρ€ΠΈΡ˜Π°Ρ‚Π° статии?

  • Π”Π°!

  • НСма ΠΏΠΎΡ‚Ρ€Π΅Π±Π°

Гласаа 1030 корисници. 106 корисници Π±Π΅Π° Π²ΠΎΠ·Π΄Ρ€ΠΆΠ°Π½ΠΈ.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€