Bash ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π΄Π°ΡΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π±ΡΡΡΡΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ.
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Bash.
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΎΠΏΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΡ -z, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
Π§ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΠΏΡΠΈΡ -z Π² Bash
Π Bash ΠΎΠΏΡΠΈΡ -z ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΡΡΠΎΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ test. ΠΠΏΡΠΈΡ -z Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true, Π΅ΡΠ»ΠΈ Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ ΡΠ°Π²Π½Π° Π½ΡΠ»Ρ, ΠΈ false Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΡΠΈΠΈ -z Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ test ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
ifΒ [Β -zΒ "$string"Β ];Β then # string is empty else # string is not empty fi
ΠΠΏΡΠΈΡ -z ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³ΠΎ, ΠΏΡΡΡΠ° Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ “string”, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΡΡΡΠ°, ΡΠΊΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ “if”, Π° Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π½Π΅ ΠΏΡΡΡΠ°, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ “else”.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΈΠΏΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠΏΡΠΈΡ -z Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³ΠΎ, Π²Π²Π΅Π» Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
#!/bin/bash ifΒ [Β -zΒ "$1"Β ];Β then echoΒ "No argument provided" else echoΒ "Argument provided: $1" fi
ΠΠΎΠΌΠ°Π½Π΄Π° test ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ -z Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³ΠΎ, ΠΏΡΡΡ Π»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΡΠ»ΠΈ ΠΎΠ½ ΠΏΡΡΡ, ΡΠΎ ΡΠΊΡΠΈΠΏΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ “No argument provided, Π° Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ ΠΏΡΡΡ, ΡΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡ “Argument provided:: “, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
ΡΠΌ. ΡΠ°ΠΊΠΆΠ΅:
- πΒ Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ Π½Π° Bash
- πΒ ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡ Π½Π° Bash β ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅
- πΒ Shell/Bash ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΎΡΡΡΡ ΡΠΈΡΠ΅Π» Π½Π° Linux
- π§Β Bash ΡΠΊΡΠΈΠΏΡΡ: ΠΡΠΈΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
- π§Β ΠΠΎΠΌΠ°Π½Π΄Π° Bash Printf