Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
Bash Scripts เบžเบฒเบเบ—เบต 2: Loops
Bash scripts, เบžเบฒเบเบ—เบต 3: เบ•เบปเบงเป€เบฅเบทเบญเบเป€เบชเบฑเป‰เบ™เบ„เบณเบชเบฑเปˆเบ‡ เปเบฅเบฐเบ›เบธเปˆเบกเบชเบฐเบซเบผเบฑเบš
Bash scripts, เบžเบฒเบเบ—เบต 4: เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™ เปเบฅเบฐ เบœเบปเบ™เบœเบฐเบฅเบดเบ”
Bash scripts, เบžเบฒเบเบ—เบต 5: เบชเบฑเบ™เบเบฒเบ™, เบงเบฝเบเบ‡เบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™, เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡ script
Bash Scripts, เบžเบฒเบเบ—เบต 6: เบซเบ™เป‰เบฒเบ—เบตเปˆเปเบฅเบฐเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”
Bash scripts, เบžเบฒเบเบ—เบต 7: sed เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ„เปเบฒ
Bash Scripts, เบชเปˆเบงเบ™เบ—เบต 8: เบžเบฒเบชเบฒเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบกเบนเบ™ awk
Bash Scripts Part 9: เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเปเบšเบšเบ›เบปเบเบเบฐเบ•เบด
Bash Scripts Part 10: เบ•เบปเบงเบขเปˆเบฒเบ‡เบžเบฒเบเบ›เบฐเบ•เบดเบšเบฑเบ”
Bash scripts, เบžเบฒเบเบ—เบต 11: เบ„เบฒเบ”เบซเบงเบฑเบ‡เปเบฅเบฐเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš

เบกเบทเป‰เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบปเบ™เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบš bash scripts. เบ™เบตเป‰ - script เปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡, เบ‚เบฝเบ™เบชเปเบฒเบฅเบฑเบšเปเบเบฐ bash เป„เบ”เป‰. เบกเบตเบซเบญเบเบญเบทเปˆเบ™เป†, เป€เบŠเบฑเปˆเบ™ zsh, tcsh, ksh, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบ™เบฑเป‰เบ™เปƒเบชเปˆ bash. เบญเบธเบ›เบฐเบเบญเบ™เบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบ„เบปเบ™, เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ”เบฝเบงเปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ Linux

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™

script เปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡เปเบกเปˆเบ™เบŠเบธเบ”เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เปเบ›เป‰เบ™เบžเบดเบกเป„เบ”เป‰, เป€เบเบฑเบšเบเปเบฒเบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒเปเบฅเบฐ united เป‚เบ”เบเบšเบฒเบ‡เบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ—เบปเปˆเบงเป„เบ›. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบ—เบตเบกเบ‡เบฒเบ™เบชเบฒเบกเบฒเบ”เบกเบตเบ„เบธเบ™เบ„เปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฒเบ”เบซเบผเบทเป€เบ›เบฑเบ™เบงเบฑเบ”เบชเบฐเบ”เบธเบ›เป‰เบญเบ™เบชเปเบฒเบฅเบฑเบšเบ—เบตเบกเบ‡เบฒเบ™เบญเบทเปˆเบ™เป†. Scripts เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบกเบตเบญเปเบฒเบ™เบฒเบ”เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบฅเบทเป‰เบญเบเป†.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบชเบปเบ™เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบšเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡, เบกเบฑเบ™เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบผเบฒเบเบ„เบฑเป‰เบ‡เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เปƒเบชเปˆเบžเบงเบเบกเบฑเบ™เบ”เป‰เบงเบ semicolon:

pwd ; whoami

เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบกเบ™เบตเป‰เบขเบนเปˆเปƒเบ™ terminal เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, script bash เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ—เบตเปˆเปƒเบŠเป‰เบชเบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบ‚เบฝเบ™เปเบฅเป‰เบง. เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบšเบšเบ™เบตเป‰. เบ—เบตเบกเบ‡เบฒเบ™เบ—เปเบฒเบญเบดเบ” pwd เบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ whoamiเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบšเป€เบ›เบฑเบ™.

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบปเบกเบ—เบปเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบ™เบซเบ™เบถเปˆเบ‡เปเบ–เบง, เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบˆเปเบฒเบ™เบงเบ™เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ™เบตเป‰เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

getconf ARG_MAX

เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบ”เบต, เปเบ•เปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เปƒเบชเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบกเบฑเบ™เบ—เบธเบเบ„เบฑเป‰เบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™. เบˆเบฐเป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เบŠเบธเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบชเปˆเป„เบŸเบฅเปŒเปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเป‚เบ—เบซเบฒเป„เบŸเบฅเปŒเบ™เบฑเป‰เบ™เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบงเบเบกเบฑเบ™? เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เป„เบŸเบฅเปŒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบงเบปเป‰เบฒเป€เบ–เบดเบ‡เปเบกเปˆเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒ script line เบ„เปเบฒเบชเบฑเปˆเบ‡.

เบชเบฐเบ„เบฃเบดเบš bash เป€เบฎเบฑเบ”เบงเบฝเบเปเบ™เบงเปƒเบ”

เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเป€เบ›เบปเปˆเบฒเป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ touch. เปƒเบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฅเบฐเบšเบธเบงเปˆเบฒเปเบเบฐเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปƒเบŠเป‰. เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเปƒเบ™ bash, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เปเบ–เบงเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบˆเบฐเป€เบ›เบฑเบ™:

#!/bin/bash

เบขเบนเปˆเบšเปˆเบญเบ™เบญเบทเปˆเบ™เปƒเบ™เป„เบŸเบฅเปŒเบ™เบตเป‰, เบชเบฑเบ™เบเบฒเบฅเบฑเบ hash เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบŠเบตเป‰เบšเบญเบเบ„เปเบฒเป€เบซเบฑเบ™เบ—เบตเปˆ shell เบšเปเปˆเป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เป€เบชเบฑเป‰เบ™เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบเปเบฅเบฐเบ™เบตเบžเบดเป€เบชเบ”, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบฑเบ™เบเบฒเบฅเบฑเบเบ›เบญเบ™เบ•เบฒเบกเบ”เป‰เบงเบ exclamation เบˆเบธเบ” (เบฅเปเบฒเบ”เบฑเบšเบ™เบตเป‰เป€เบญเบตเป‰เบ™เบงเปˆเบฒ. เป€เบŠเบšเบฑเบ‡) เปเบฅเบฐโ€‹เป€เบชเบฑเป‰เบ™โ€‹เบ—เบฒเบ‡โ€‹เป„เบ›โ€‹ bash, เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบชเบฐเบ„เบดเบšเป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบš bash.

เบ„เปเบฒเบชเบฑเปˆเบ‡ Shell เบ–เบทเบเปเบเบเบญเบญเบเป‚เบ”เบเบญเบฒเบซเบฒเบ™เป€เบชเบฑเป‰เบ™, เบ„เปเบฒเป€เบซเบฑเบ™เบ–เบทเบเปเบเบเบญเบญเบเป‚เบ”เบเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบ›เบญเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบ„เป‰เบฒเบเบ„เบท:

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

เบ—เบตเปˆเบ™เบตเป‰, เบ„เบทเบเบฑเบ™เบเบฑเบšเบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™เปเบ–เบงเบซเบ™เบถเปˆเบ‡, เปเบเบเบžเบงเบเบกเบฑเบ™เบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบˆเบธเบ”. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ‚เบฝเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™เบชเบฒเบเบ•เปˆเบฒเบ‡เป†, เป„เบŸเบฅเปŒเบˆเบฐเบญเปˆเบฒเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™. เปƒเบ™เบเปเบฅเบฐเบ™เบตเปƒเบ”เบเปเปˆเบ•เบฒเบก, เปเบเบฐเบˆเบฐเบ›เบธเบ‡เปเบ•เปˆเบ‡เบžเบงเบเบกเบฑเบ™.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบ™เป„เบŸเบฅเปŒ Script

เบšเบฑเบ™เบ—เบถเบเป„เบŸเบฅเปŒเป‚เบ”เบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบŠเบทเปˆ myscript, เปเบฅเบฐ script bash เปเบกเปˆเบ™เป€เบเบทเบญเบšเปเบฅเป‰เบง. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบฑเบ™เบเบฑเบ‡เบ„เบปเบ‡เบžเบฝเบ‡เปเบ•เปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เป„เบŸเบฅเปŒเบ™เบตเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰, เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบžเบฐเบเบฒเบเบฒเบกเปเบฅเปˆเบ™เบกเบฑเบ™, เบ—เปˆเบฒเบ™เบˆเบฐเบžเบปเบšเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”. Permission denied.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบžเบฐเบเบฒเบเบฒเบกเปเบฅเปˆเบ™เป„เบŸเบฅเปŒเบชเบฐเบ„เบฃเบดเบšเบ”เป‰เบงเบเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เบ—เบตเปˆเบเบณเบ™เบปเบ”เบ„เปˆเบฒเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡

เปƒเบซเป‰โ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เป„เบ”เป‰โ€‹:

chmod +x ./myscript

เปƒเบ™โ€‹เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹เปƒเบซเป‰โ€‹เบžเบฐโ€‹เบเบฒโ€‹เบเบฒเบกโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบกเบฑเบ™โ€‹:

./myscript

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบ•เบฒเบกเบ—เบตเปˆเบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เปเบฅเปˆเบ™เบชเบฐเบ„เบฃเบดเบš bash เบชเบณเป€เบฅเบฑเบ”เปเบฅเป‰เบง

เบ‚เปเป‰เบ„เบงเบฒเบกเบญเบญเบ

เป€เบžเบทเปˆเบญเบžเบดเบกเบ‚เปเป‰เบ„เบงเบฒเบกเปƒเบชเปˆ console Linux, เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ echo. เปƒเบซเป‰เปƒเบŠเป‰เบ„เบงเบฒเบกเบฎเบนเป‰เบ‚เบญเบ‡เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡เบ™เบตเป‰เปเบฅเบฐเปเบเป‰เป„เบ‚ script เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เป€เบžเบตเปˆเบกเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเปƒเบซเป‰เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบญเบญเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบกเบฑเบ™:

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

เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบซเบผเบฑเบ‡เบˆเบฒเบเปเบฅเปˆเบ™เบชเบฐเบ„เบดเบšเบ—เบตเปˆเบญเบฑเบšเป€เบ”เบ”เปเบฅเป‰เบง.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบญเบญเบเบ‚เปเป‰เบ„เบงเบฒเบกเบˆเบฒเบเบชเบฐเบ„เบฃเบดเบš

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเบฐเปเบ”เบ‡เบ›เป‰เบฒเบเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ echo. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบฎเบนเป‰เบงเบดเบ—เบตเปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒเป‚เบ”เบเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบท Linux, เบซเบผเบทเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเป€เบ„เบตเบเป€เบซเบฑเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบเปˆเบญเบ™ echo, เบฅเบญเบ‡เป€เบšเบดเปˆเบ‡ เบ™เบตเป‰ เบญเบธเบ›เบฐเบเบญเบ™เบเบฒเบ™.

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเปเบ›

เบ•เบปเบงเปเบ›เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เป„เบŸเบฅเปŒเบชเบฐเบ„เบดเบš, เป€เบŠเบฑเปˆเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบญเบทเปˆเบ™เป†.

เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบœเบดเบ”เบžเบฒเบ”เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบšเบธเบเบ„เบปเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ, เปเบ•เปˆเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบˆเปเบฒเบเบฑเบ”เบซเบผเบฒเบ.

เบกเบตเบชเบญเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™ bash scripts:

  • เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก
  • เบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰

เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก

เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบ„เบณเบชเบฑเปˆเบ‡ shell เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบšเบปเบšเบšเบฒเบ‡เบขเปˆเบฒเบ‡. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ™เบตเป‰เปเบกเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบฅเบฒเบเบŠเบทเปˆเบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™:

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

เบเบฐเบฅเบธเบ™เบฒเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš $HOME เปƒเบ™เบงเบปเบ‡เบขเบทเบกเบ„เบนเปˆ, เบ™เบตเป‰เบˆเบฐเบšเปเปˆเบ›เป‰เบญเบ‡เบเบฑเบ™เบšเปเปˆเปƒเบซเป‰เบฅเบฐเบšเบปเบšเบฎเบฑเบšเบฎเบนเป‰เบกเบฑเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เปเบฅเปˆเบ™เบชเบฐเบ„เบดเบšเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเปƒเบ™ Script

เปเบ•เปˆเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเป€เบ‡เบดเบ™เป‚เบ”เบฅเบฒเปเบกเปˆเบ™เบซเบเบฑเบ‡? เบฅเบญเบ‡เป€เบฎเบฑเบ”เปเบšเบšเบ™เบตเป‰:

echo "I have $1 in my pocket"

เบฅเบฐเบšเบปเบšเบˆเบฐเบเบงเบ”เบžเบปเบšเบชเบฑเบ™เบเบฒเบ™เป€เบ‡เบดเบ™เป‚เบ”เบฅเบฒเปƒเบ™เบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเบ‚เบฑเป‰เบ™เบ”เป‰เบงเบเบงเบปเบ‡เบขเบทเบก เปเบฅเบฐเบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบญเป‰เบฒเบ‡เบญเบตเบ‡เบ•เบปเบงเปเบ›. เบชเบฐเบ„เบฃเบดเบšเบˆเบฐเบžเบฐเบเบฒเบเบฒเบกเบชเบฐเปเบ”เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”. $1. เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™. เบˆเบฐเป€เบฎเบฑเบ”เปเบ™เบงเปƒเบ”?

เปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก backslash เบเปˆเบญเบ™เบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเป€เบ‡เบดเบ™เป‚เบ”เบฅเบฒเบˆเบฐเบŠเปˆเบงเบ:

echo "I have $1 in my pocket"

เบ”เบฝเบงเบ™เบตเป‰เบชเบฐเบ„เบฃเบดเบšเบˆเบฐเบญเบญเบเบกเบฒเบ•เบฒเบกเบ—เบตเปˆเบ„เบฒเบ”เป„เบงเป‰.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบฅเปเบฒโ€‹เบ”เบฑเบš Escape เป€เบžเบทเปˆเบญโ€‹เบญเบญเบโ€‹เบชเบฑเบ™โ€‹เบเบฒโ€‹เบฅเบฑเบโ€‹เป€เบ‡เบดเบ™โ€‹เป‚เบ”โ€‹เบฅเบฒโ€‹

เบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰

เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก, script bash เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡เปƒเบ™เบชเบฐเบ„เบดเบš. เบ•เบปเบงเปเบ›เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ–เบทเบ„เปˆเบฒเบˆเบปเบ™เบเปˆเบงเบฒ script เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡.

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš, เบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเป€เบ‡เบดเบ™เป‚เบ”เบฅเบฒ:
TNW-CUS-FMP - เบฅเบฐเบซเบฑเบ”เป‚เบ›เบฃเป‚เบกเบŠเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบชเปˆเบงเบ™เบซเบผเบธเบ” 10% เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบžเบฒเบเปƒเบ™ 7 เบกเบทเป‰.

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

เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบซเบผเบฑเบ‡เบˆเบฒเบเปเบฅเปˆเบ™เบชเบฐเบ„เบดเบšเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบ•เบปเบงเปเบ›เปเบšเบšเบเบณเบ™เบปเบ”เป€เบญเบ‡เปƒเบ™เบชเบฐเบ„เบฃเบดเบš

เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบชเบฐเบ„เบดเบš bash เปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเบฐเบเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบกเบญเบšเบซเบกเบฒเบเปƒเบซเป‰เบ•เบปเบงเปเบ›, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰เบขเบนเปˆเบšเปˆเบญเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบกเปƒเบ™เป„เบŸเบฅเปŒเบชเบฐเบ„เบดเบš.

เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เปƒเบ™เบชเบญเบ‡เบงเบดเบ—เบต.

  • เบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ backtic "`"
  • เบ”เป‰เบงเบเบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ $()

เป€เบกเบทเปˆเบญเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ—เปเบฒเบญเบดเบ”, เบˆเบปเปˆเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เบšเปเปˆเปƒเบซเป‰เปƒเบŠเป‰เบ„เปเบฒเป€เบงเบปเป‰เบฒเบ”เบฝเบงเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™ backtick. เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เป‰เบญเบ‡เบ–เบทเบเบซเบธเป‰เบกเบขเบนเปˆเปƒเบ™เบชเบญเบ‡เป„เบญเบ„เบญเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง:

mydir=`pwd`

เปƒเบ™โ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เบ—เบตโ€‹เบชเบญเบ‡โ€‹, เป€เบŠเบฑเปˆเบ™โ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ‚เบฝเบ™โ€‹เป„เบงเป‰โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ™เบตเป‰โ€‹:

mydir=$(pwd)

เปเบฅเบฐ script, เปƒเบ™เบ—เบตเปˆเบชเบธเบ”, เบญเบฒเบ”เบˆเบฐเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ™เบตเป‰:

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

เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ‚เบญเบ‡เบ•เบปเบ™, เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ pwdเบˆเบฐเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบ•เบปเบงเปเบ› mydir, เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบ—เบตเปˆ, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ echo, เบˆเบฐเป„เบ› console เป„เบ”เป‰.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบชเบฐเบ„เบฃเบดเบšเบ—เบตเปˆเบšเบฑเบ™เบ—เบถเบเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบขเบนเปˆเปƒเบ™เบ•เบปเบงเปเบ›

เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบฒเบ‡เบ„เบฐเบ™เบดเบ”เบชเบฒเบ”

เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบฒเบ‡เบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เปƒเบ™เป„เบŸเบฅเปŒเบชเบฐเบ„เบดเบš, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปเบšเบšเบŸเบญเบก $((a+b)):

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

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบฒเบ‡เบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เปƒเบ™เบชเบฐเบ„เบดเบš

เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹, เป‚เบ„เบ‡โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹

เปƒเบ™เบšเบฒเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป„เบซเบผเป€เบ‚เบปเป‰เบฒเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเบ„เปˆเบฒเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เปเบกเปˆเบ™เปƒเบซเบเปˆเบเบงเปˆเบฒเบซเป‰เบฒ, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เบถเปˆเบ‡เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡. เบ™เบตเป‰เปเบกเปˆเบ™เปƒเบŠเป‰เป„เบ”เป‰เปƒเบ™เบซเบผเบฒเบเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™, เปเบฅเบฐเปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒ if-then. เปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบชเบธเบ”, เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ:

if ะบะพะผะฐะฝะดะฐ
then
ะบะพะผะฐะฝะดั‹
fi

เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ:

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

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡ pwdเบชเปเบฒเป€เบฅเบฑเบ”เบขเปˆเบฒเบ‡เบชเปเบฒเป€เบฅเบฑเบ”เบœเบปเบ™, เบ‚เปเป‰เบ„เบงเบฒเบก "เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ" เบˆเบฐเบ–เบทเบเบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™ console.

เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบ„เบงเบฒเบกเบฎเบนเป‰เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบกเบตเปเบฅเบฐเบ‚เบฝเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ. เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒเบœเบนเป‰เปƒเบŠเป‰เปƒเบ™ /etc/passwd, เปเบฅเบฐเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™, เบฅเบฒเบเบ‡เบฒเบ™เบงเปˆเบฒเบกเบฑเบ™เบกเบตเบขเบนเปˆ.

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

เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบซเบผเบฑเบ‡เบˆเบฒเบเปเบฅเปˆเบ™เบชเบฐเบ„เบดเบšเบ™เบตเป‰.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
ะŸะธะธะบะฟะฟะทะทะฟะฟะฟะฟััััะฟะทัะฐ

เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ grepเป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเบœเบนเป‰เปƒเบŠเป‰เปƒเบ™เป„เบŸเบฅเปŒ /etc/passwd. เบ–เป‰เบฒเบ—เบตเบกเบ‡เบฒเบ™ grepเบšเปเปˆเบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบšเบ—เปˆเบฒเบ™, เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ‚เบญเบ‡เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบžเบปเบšเป„เบ”เป‰ เบ—เบตเปˆเบ™เบตเป‰.

เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ™เบตเป‰, เบ–เป‰เบฒเบœเบนเป‰เปƒเบŠเป‰เบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™, script เบˆเบฐเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก. เบˆเบฐเป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบœเบนเป‰เปƒเบŠเป‰เบšเปเปˆเบชเบฒเบกเบฒเบ”เบžเบปเบšเป„เบ”เป‰? เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, script เบžเบฝเบ‡เปเบ•เปˆเบˆเบฐเบชเปเบฒเป€เบฅเบฑเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบšเบญเบเบžเบงเบเป€เบฎเบปเบฒเบซเบเบฑเบ‡. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบขเบฒเบเปƒเบซเป‰เบฅเบฒเบงเบšเบญเบเบžเบงเบเป€เบฎเบปเบฒเบเปˆเบฝเบงเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบถเปˆเบ‡เบ›เบฑเบšเบ›เบธเบ‡เบฅเบฐเบซเบฑเบ”.

เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบเบฒเบ™เบ„เบงเบšเบ„เบธเบก if-nen-else

เป€เบžเบทเปˆเบญเปƒเบซเป‰เป‚เบ„เบ‡เบเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฒเบเบ‡เบฒเบ™เบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบ—เบตเปˆเบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบง, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ if-then-else. เบ™เบตเป‰เปเบกเปˆเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบกเบฑเบ™เบ–เบทเบเบ•เบฑเป‰เบ‡:

if ะบะพะผะฐะฝะดะฐ
then
ะบะพะผะฐะฝะดั‹
else
ะบะพะผะฐะฝะดั‹
fi

เบ–เป‰เบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เปเบฒเบญเบดเบ”เบเบฑเบšเบ„เบทเบ™เบชเบนเบ™, เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบกเบฑเบ™เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเปˆเบฒเบ‡เบชเปเบฒเป€เบฅเบฑเบ”เบœเบปเบ™, เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบˆเบฐเป€เบ›เบฑเบ™เบˆเบดเบ‡เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบˆเบฐเบšเปเปˆเป„เบ›เบ•เบฒเบกเบชเบฒเบ‚เบฒ. else. เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบชเบดเปˆเบ‡เบญเบทเปˆเบ™เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบชเบนเบ™เบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™, เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบง, เบซเบผเบทเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ else.

เบ‚เปโ€‹เปƒเบซเป‰โ€‹เป€เบฎเบปเบฒโ€‹เบ‚เบฝเบ™ script เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰:

#!/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.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เปเบฅเปˆเบ™เบชเบฐเบ„เบฃเบดเบšเบ”เป‰เบงเบเป‚เบ„เบ‡เบชเป‰เบฒเบ‡ if-then-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

เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบˆเบฐเบญเบญเบเบกเบฒ.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ•เบปเบงเป€เบฅเบเปƒเบ™เบชเบฐเบ„เบฃเบดเบš

เบ„เปˆเบฒเบ•เบปเบงเปเบ› val1เบซเบผเบฒเบเบเปˆเบงเบฒ 5, เปƒเบ™เบ—เบตเปˆเบชเบธเบ”เบชเบฒเบ‚เบฒเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ” thenเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเปเบฅเบฐเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เปเบกเปˆเบ™เบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™ console.

เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡

เบชเบฐเบ„เบฃเบดเบšเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ›เบฝเบšเบ—เบฝเบšเบ„เปˆเบฒเบชเบฐเบ•เบฃเบดเบ‡เป„เบ”เป‰. เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเป€เบšเบดเปˆเบ‡เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ, เปเบ•เปˆเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฒเบเบžเบฑเบ™เบกเบต peculiarities เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™, เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเปเบฒเบœเบฑเบ”เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰. เบ™เบตเป‰เปเบกเปˆเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™.

str1 = str2 เบ—เบปเบ”เบชเบญเบšเบชเบฐเบ•เบฃเบดเบ‡เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบชเบฐเป€เปเบตเบžเบฒเบš, เปƒเบซเป‰เบœเบปเบ™เป€เบ›เบฑเบ™เบˆเบดเบ‡เบ–เป‰เบฒเบชเบฐเบ•เบฃเบดเบ‡เบ„เบทเบเบฑเบ™.
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

เป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” script, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš String เปƒเบ™ Scripts

เบ™เบตเป‰เปเบกเปˆเบ™ เปœเบถเปˆเบ‡ เปƒเบ™เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเบ„เบธเป‰เบกเบ„เปˆเบฒเบ—เบตเปˆเบˆเบฐเบเปˆเบฒเบงเป€เบ–เบดเบ‡. เบ„เบท ">" เปเบฅเบฐ "<" เป‚เบ•เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ•เป‰เบญเบ‡เบ–เบทเบเบซเบฅเบปเบšเบซเบ™เบตเบ”เป‰เบงเบ backslash, เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™ script เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบˆเบฐเบšเปเปˆเบกเบตเบ‚เปเป‰เบ„เบงเบฒเบกเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”. เบชเบฐเบ„เบฃเบดเบšเบ•เบตเบ„เบงเบฒเบกเปเบฒเบ "> "เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเป€เบ›เบฑเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบžเบทเปˆเบญเบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ”.

เบ™เบตเป‰เปเบกเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบขเบนเปˆเปƒเบ™เบฅเบฐเบซเบฑเบ”:

#!/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

เบ™เบตเป‰เปเบกเปˆเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบชเบฐเบ„เบดเบš.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฒเบ, เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบ–เบดเป‰เบก

เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒ script, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบกเบฑเบ™เบเปเบฒเบฅเบฑเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”, เปƒเบซเป‰เบ„เปเบฒเป€เบ•เบทเบญเบ™:

./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

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบ•เบฒเบกเบ—เบตเปˆเบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡

เบฅเบฑเบเบชเบฐเบ™เบฐเบญเบทเปˆเบ™เบ‚เบญเบ‡เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ "">" เปเบฅเบฐ "<" เปเบกเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ•เบปเบงเบžเบดเบกเปƒเบซเบเปˆ เปเบฅเบฐเบ•เบปเบงเบžเบดเบกเบ™เป‰เบญเบ. เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบฅเบฑเบเบชเบฐเบ™เบฐเบ™เบตเป‰, เปƒเบซเป‰เบเบฐเบเบฝเบกเป„เบŸเบฅเปŒเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบตเป€เบ™เบทเป‰เบญเบซเบฒเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

Likegeeks
likegeeks

เบšเบฑเบ™เบ—เบถเบเบกเบฑเบ™เบ”เป‰เบงเบเบŠเบทเปˆ myfileเปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เปƒเบ™ terminal:

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

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เปเบฅเปˆเบ™เบกเบฑเบ™, เบกเบฑเบ™เบ›เบฒเบเบปเบ”เบงเปˆเบฒเบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเปเบกเปˆเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡ - เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ•เบปเบงเบ™เป‰เบญเบเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เปƒเบซเบเปˆเบเบงเปˆเบฒเบ•เบปเบงเบžเบดเบกเปƒเบซเบเปˆ.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡เปƒเบ™เป„เบŸเบฅเปŒเบชเบฐเบ„เบดเบš

เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ›เบฝเบšเบ—เบฝเบš, เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ•เบปเบงเบžเบดเบกเปƒเบซเบเปˆเปเบกเปˆเบ™เบ™เป‰เบญเบเบเบงเปˆเบฒเบ•เบปเบงเบžเบดเบกเบ™เป‰เบญเบ. เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบฅเบฐเบซเบฑเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ ASCII, เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เบฅเบณเบ”เบฑเบšเปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบฅเบฐเบซเบฑเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™.

เบ—เบตเบกเบ‡เบฒเบ™ sortเปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบžเบฒเบชเบฒเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš.

เบเบฒเบ™เบเบงเบ”เบชเบญเบšเป„เบŸเบฅเปŒ

เบšเบฒเบ‡เบ—เบตเบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”เปƒเบ™ bash scripts. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบงเบ”เบชเบญเบšเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ•เปˆเบฒเบ‡เป†เบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒ. เบ™เบตเป‰เปเบกเปˆเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

-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

เบชเบฐเบ„เบฃเบดเบšเบ™เบตเป‰, เบชเปเบฒเบฅเบฑเบšเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง, เบˆเบฐเบชเบฐเปเบ”เบ‡เป€เบ™เบทเป‰เบญเบซเบฒเบ‚เบญเบ‡เบกเบฑเบ™.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบฅเบฒเบเบŠเบทเปˆเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต

เบžเบงเบเป€เบฎเบปเบฒเป€เบŠเบทเปˆเบญเบงเปˆเบฒเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ—เบปเบ”เบฅเบญเบ‡เบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเบ”เป‰เบงเบเบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡, เบžเบงเบเบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เปเบฒเปƒเบŠเป‰เบ•เบฒเบกเบซเบผเบฑเบเบเบฒเบ™เบ”เบฝเบงเบเบฑเบ™.

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš

เบกเบทเป‰เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบฝเบ™ bash scripts เปเบฅเบฐเบเบงเบกเป€เบญเบปเบฒเบšเบฒเบ‡เบชเบดเปˆเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™. เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบซเบปเบงเบ‚เปเป‰เบ‚เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก bash เปเบกเปˆเบ™เปƒเบซเบเปˆเบซเบผเบงเบ‡. เบšเบปเบ”โ€‹เบ„เบงเบฒเบกโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เปเบ›โ€‹เบžเบฒโ€‹เบชเบฒโ€‹เบ‚เบญเบ‡โ€‹เบžเบฒเบโ€‹เบชเปˆเบงเบ™โ€‹เบ—เปเบฒโ€‹เบญเบดเบ”โ€‹เบ‚เบญเบ‡โ€‹เบŠเบธเบ”โ€‹เปƒเบซเบเปˆโ€‹เบ‚เบญเบ‡ 11 เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบเบฒเบ™โ€‹. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบทเบšเบ•เปเปˆเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบงเบฑเบ”เบชเบฐเบ”เบธเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเบชเบฐเบšเบฒเบ, เบเบฒเบ™เปเบ›เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบซเบฒเบเปเบญเปˆเบฒเบ™เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบฅเบงเบกเบขเบนเปˆเบšเปˆเบญเบ™เบ™เบตเป‰.

  1. Bash Script เบ‚เบฑเป‰เบ™เบ•เบญเบ™เป‚เบ”เบเบ‚เบฑเป‰เบ™เบ•เบญเบ™ - เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเป‰เบฒเบ‡ bash scripts, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเปเบ›เปเบกเปˆเบ™เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒ, เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚, เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ, เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ•เบปเบงเป€เบฅเบ, เบชเบฐเบ•เบดเบ‡, เบเบฒเบ™เบŠเบญเบเบซเบฒเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒเป„เบ”เป‰เบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบ.
  2. Bash Scripting Part 2, Bash the awesome - เปƒเบ™โ€‹เบ—เบตเปˆโ€‹เบ™เบตเป‰โ€‹เบ„เบธเบ™โ€‹เบชเบปเบกโ€‹เบšเบฑเบ”โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบฎเปˆเบงเบกโ€‹เบเบฑเบšโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เปเบฅเบฐโ€‹เปƒเบ™โ€‹เบ‚เบฐโ€‹เบ™เบฐโ€‹เบ—เบตเปˆ loops เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เป€เบ›เบตเบ”โ€‹เป€เบœเบตเบโ€‹.
  3. Bash Scripting เบžเบฒเบเบ—เบต 3, เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต เปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบ - เป€เบญเบเบฐเบชเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบญเบธเบ—เบดเบ”เปƒเบซเป‰เบเบฑเบšเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบเบฐเปเบˆเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบเบฑเบš scripts, เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เป€เบ‚เบปเป‰เบฒเบกเบฒเปเบฅเบฐเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เบˆเบฒเบเป„เบŸเบฅเปŒ.
  4. Bash Scripting Part 4, Input & Output - เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเป„เบŸเบฅเปŒเปเบฅเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒ, เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™, เบœเบปเบ™เบœเบฐเบฅเบดเบ”, เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”, เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡.
  5. Bash Scripting Part 5, Sighals & Jobs โ€” เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบเบฒเบ™โ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบญเบธโ€‹เบ—เบดเบ”โ€‹เบ•เบปเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบชเบฑเบ™โ€‹เบเบฒเบ™ Linuxโ€‹, เบเบฒเบ™โ€‹เบ›เบธเบ‡โ€‹เปเบ•เปˆเบ‡โ€‹เบ‚เบญเบ‡โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เปƒเบ™โ€‹เบชเบฐโ€‹เบ„เบดเบšโ€‹, เบเบฒเบ™โ€‹เป€เบ›เบตเบ”โ€‹เบ•เบปเบงโ€‹เบชเบฐโ€‹เบ„เบดเบšโ€‹เบ—เบตเปˆโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป€เบงโ€‹เบฅเบฒโ€‹.
  6. Bash Scripting เบžเบฒเบเบ—เบต 6, เบซเบ™เป‰เบฒเบ—เบตเปˆ - เบ—เบตเปˆเบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฎเบฝเบ™เบฎเบนเป‰เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเบ™เป‰เบฒเบ—เบตเปˆเปƒเบ™ scripts, เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”.
  7. Bash Scripting Part 7, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ sed โ€” เบšเบปเบ”โ€‹เบ„เบงเบฒเบกโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบฎเปˆเบงเบกโ€‹เบเบฑเบšโ€‹เบšเบฑเบ™โ€‹เบ™เบฒโ€‹เบ—เบดโ€‹เบเบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบ„เบงเบฒเบก sed streamโ€‹.
  8. Bash Scripting Part 8, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ awk โ€” เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบเบฒเบ™โ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบญเบธโ€‹เบ—เบดเบ”โ€‹เปƒเบซเป‰โ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เปƒเบ™โ€‹เบžเบฒโ€‹เบชเบฒโ€‹เบ›เบฐโ€‹เบกเบงเบ™โ€‹เบœเบปเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™ awkโ€‹.
  9. Bash Scripting Part 9, เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเปเบšเบšเบ›เบปเบเบเบฐเบ•เบด - เบ—เบตเปˆเบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ›เบปเบเบเบฐเบ•เบดเปƒเบ™ bash scripts.
  10. Bash Scripting Part 10, เบ•เบปเบงเบขเปˆเบฒเบ‡เบžเบฒเบเบ›เบฐเบ•เบดเบšเบฑเบ” - เบ™เบตเป‰เปเบกเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบœเบนเป‰เปƒเบŠเป‰, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเปเบœเปˆเบ™.
  11. Bash Scripting Part 11, Expect Command - เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบเบฒเบ™โ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบญเบธโ€‹เบ—เบดเบ”โ€‹เบ•เบปเบ™โ€‹เป€เบžเบทเปˆเบญโ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบท Expectโ€‹, เบ—เบตเปˆโ€‹เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹เบเบฒเบ™โ€‹เป‚เบ•เป‰โ€‹เบ•เบญเบšโ€‹เบเบฑเบšโ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบเบฒเบ™โ€‹เป‚เบ•เป‰โ€‹เบ•เบญเบšโ€‹. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบ™เบตเป‰เปเบกเปˆเบ™เบเปˆเบฝเบงเบเบฑเบš scripts เบ„เบฒเบ”เบซเบงเบฑเบ‡เปเบฅเบฐเบงเบดเบ—เบตเบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบžเบปเบงเบžเบฑเบ™เบเบฑเบš bash scripts เปเบฅเบฐเป‚เบ„เบ‡เบเบฒเบ™เบญเบทเปˆเบ™เป†.

เบžเบงเบเป€เบฎเบปเบฒเบ„เบดเบ”เบงเปˆเบฒเบชเบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบเบดเปˆเบ‡เปƒเบซเบเปˆเบเปˆเบฝเบงเบเบฑเบšเบŠเบธเบ”เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เปเบกเปˆเบ™เบงเปˆเบฒเบกเบฑเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบเบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบชเบธเบ”, เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เปƒเบ™เบฅเบฐเบ”เบฑเบšเปƒเบ”เบซเบ™เบถเปˆเบ‡, เบ„เปˆเบญเบเป†เบ™เปเบฒเป„เบ›เบชเบนเปˆเบซเบปเบงเบ‚เปเป‰เบ—เบตเปˆเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบฎเบธเบ™เปเบฎเบ‡, เปƒเบซเป‰เบ—เบธเบเบ„เบปเบ™เบกเบตเป‚เบญเบเบฒเบ”เบเป‰เบฒเบงเบซเบ™เป‰เบฒเปƒเบ™ Linux command line scripting.

เบ—เปˆเบฒเบ™เบœเบนเป‰เบญเปˆเบฒเบ™เบ—เบตเปˆเบฎเบฑเบเปเบžเบ‡! เบžเบงเบเป€เบฎเบปเบฒเบ‚เปเปƒเบซเป‰เบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก bash เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเบ„เบงเบฒเบกเบชเบนเบ‡เบ‚เบญเบ‡เบ„เบงเบฒเบกเบฎเบนเป‰, เปเบšเปˆเบ‡เบ›เบฑเบ™เบ„เบงเบฒเบกเบฅเบฑเบš, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบฅเปเบ–เป‰เบฒเบ„เบงเบฒเบกเบ›เบฐเบ—เบฑเบšเปƒเบˆเบˆเบฒเบเบœเบนเป‰เบ—เบตเปˆเป„เบ”เป‰เบ‚เบฝเบ™เบšเบปเบ”เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ.

Bash scripts: เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™

เบžเบฝเบ‡เปเบ•เปˆเบœเบนเป‰เปƒเบŠเป‰เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เบชเปเบฒเบซเบผเบงเบ”. เป€เบ‚เบปเป‰เบฒโ€‹เบชเบนเปˆโ€‹เบฅเบฐโ€‹เบšเบปเบšเบเบฐเบฅเบธเบ™เบฒ.

เปเบ›เบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบก?

  • เปเบกเปˆเบ™เปเบฅเป‰เบง!

  • เบšเปเปˆโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹

1030 เบœเบนเป‰เปƒเบŠเป‰เบฅเบปเบ‡เบ„เบฐเปเบ™เบ™เบชเบฝเบ‡. 106 เบœเบนเป‰เปƒเบŠเป‰เบ‡เบปเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™