Ano ang Shell Script?
Kasama sa Shell scripting ang pagsusulat ng isang serye ng mga command sa isang plain text file, kadalasang tinutukoy bilang Shell Script. Ang mga script na ito ay pinaandar ng isang shell, na isang command-line interpreter. Kasama sa pinakakaraniwang mga shell
- Bash (Bourne Again SHell)
- Zsh (Z Shell)
- Fish.
Ang mga script ng Shell ay maaaring mula sa mga simpleng one-liner hanggang sa mga kumplikadong programa, at ginagamit ang mga ito upang magsagawa ng malawak na iba’t ibang mga gawain, tulad ng pagmamanipula ng file, pangangasiwa ng system, at pag-automate ng mga paulit-ulit na gawain.
Mga Benepisyo ng Shell Scripting:
Automation: Binibigyang-daan ng mga script ng Shell ang mga user na i-automate ang mga paulit-ulit na gawain, nakakatipid ng oras at binabawasan ang pagkakataon ng pagkakamali ng tao.
Customization: Ang mga user ay maaaring lumikha ng mga script na iniayon sa kanilang mga partikular na pangangailangan, na nagbibigay ng mataas na antas ng pag-customize.
Batch Processing: Ang mga script ng Shell ay mahusay para sa paghawak ng mga gawain sa pagpoproseso ng batch, kung saan maraming mga command ang kailangang isagawa nang magkakasunod.
System Administration: Ang mga shell script ay karaniwang ginagamit para sa mga gawain sa pangangasiwa ng system, tulad ng mga backup, pag-ikot ng log, at pag-install ng software.
Pagsusulat ng Simple Shell Script:
Gumawa tayo ng pangunahing shell script na nagpi-print ng mensahe ng pagbati. Magbukas ng text editor at gumawa ng file na pinangalanang greeting.sh
. Idagdag ang mga sumusunod na linya:
#!/bin/bash
# This is a simple shell script
echo "Hello, welcome to the world of shell scripting!"
I-save ang file at gawin itong executable sa pamamagitan ng pagpapatakbo ng sumusunod na command sa terminal:
chmod +x greeting.sh
Ngayon, maaari mong isagawa ang script:
./greeting.sh
Ang output ay dapat na:
Hello, welcome to the world of shell scripting!
Pagpapatakbo ng Shell Scripts sa Ubuntu at Linux:
Ngayon, tatalakayin natin kung paano magpatakbo ng .sh file sa Ubuntu at Linux.
Gawing Executable ang Script: Bago magpatakbo ng shell script, tiyaking maipapatupad ito. Gamitin ang utos na
chmod
gaya ng ipinakita kanina.Mag-navigate sa Direktoryo ng Script: Magbukas ng terminal at gamitin ang command na
cd
upang mag-navigate sa direktoryo na naglalaman ng iyong shell script.Patakbuhin ang Script: Isagawa ang script sa pamamagitan ng pag-type ng
./scriptname.sh
sa terminal, na pinapalitan ang “scriptname” ng aktwal na pangalan ng iyong script.
cd path/to/script
./greeting.sh
- Paggamit ng Bash Command: Kung ang iyong script ay nagsisimula sa
#!/bin/bash
(kilala bilang shebang), maaari mo rin itong patakbuhin gamit angbash
na command.
bash greeting.sh
Ano ang ibig sabihin ng $@ sa Shell Script?
Sa script ng shell, kinakatawan ng $@
ang lahat ng argumento ng command-line na ipinasa sa script. Madalas itong ginagamit upang tukuyin ang listahan ng mga argumento bilang magkahiwalay na entity. Kapag ginamit sa loob ng dobleng panipi, tulad ng "$@"
, pinapanatili nito ang mga indibidwal na argumento, isinasaalang-alang ang mga puwang at mga espesyal na character.
Narito ang maikling paliwanag:
$@
: Kinakatawan ang lahat ng positional parameters (argument) na ipinasa sa script o function. Ang bawat argumento ay itinuturing bilang hiwalay na salita."$@"
: Kapag naka-double-quote, pinapanatili ang paghihiwalay ng mga argumento, na nagbibigay-daan para sa mga puwang o mga espesyal na character sa loob ng mga indibidwal na argumento.
Narito ang simpleng halimbawa upang ilarawan:
#!/bin/bash
# Save this script as example.sh
echo "The total number of arguments is: $#"
echo "The arguments are: $@"
echo "The arguments with double quotes are: \"$@\""
Kapag pinatakbo mo ang script na ito na may mga argumento, halimbawa:
bash example.sh arg1 "argument 2" arg3
Maglalabas ito ng:
The total number of arguments is: 3
The arguments are: arg1 argument 2 arg3
The arguments with double quotes are: "arg1" "argument 2" "arg3"
Gaya ng nakikita mo, kinakatawan ng $@
ang lahat ng argumento, at pinapanatili ng "$@"
ang mga indibidwal na argumento, kahit na naglalaman ang mga ito ng mga puwang.