Ano ang Shell Scripting at Bakit Dapat Mong Gamitin Ito

Ano ang Shell Scripting at Bakit Dapat Mong Gamitin Ito

Ang shell ay isang programa sa loob ng isang operating system ng Linux o Unix na nagbibigay-daan sa iyo upang ipasok ang mga utos para sa pagpapatupad ng system. Kapag binuksan ang isang window ng terminal sa isang linux computer, sinisimulan nito ang shell program na nagpapakita ng isang interface upang magpasok ng mga utos. Ang interface na ito ay kilala bilang interface ng command line. Kapag naipasok ang isang utos, naisasagawa ito ng shell at ang output ay ipinapakita sa screen.





Bilang karagdagan sa kakayahang tumanggap at magpatupad ng mga command nang interactive, ang shell ay maaari ring magpatupad ng mga utos na nakaimbak sa isang file. Ang mode ng pagpapatupad na ito ay kilala bilang shell scripting , at sa artikulong ito sinasaklaw namin ang mga pangunahing kaalaman sa shell scripting.





1. Kasaysayan ng Shell

Simula sa Unix noong 1970s, mayroong isang shell program na tinawag na V6 Shell binuo ni Ken Thomson. Ito ay isang interactive na shell at walang kakayahan sa pag-script.





Sinundan ito ng Bourne Shell noong 1977 at nananatiling ginagamit ngayon bilang default na shell para sa ugat account Ang shell na ito ay nagdagdag ng mga kakayahan sa pag-script na napatunayan na lubos na kapaki-pakinabang sa pagsasanay sa mga nakaraang taon.

Ang karagdagang pag-unlad ng shell noong 1980s ay nagbigay ng maraming tanyag na mga variant ng shell, ang pinakapopular sa mga ito ay ang C-Shell at ang Korn Shell . Ang bawat isa sa mga shell na ito ay nagdala ng sarili nitong syntax na kung saan, sa ilang mga kaso, ay naiiba nang malaki mula sa orihinal na shell.



Isa sa mga pinakatanyag na shell ngayon ay ang Bash Shell . Si Bash ay nangangahulugang Bourne-Muli-Shell at ito ay isang napakalaking pinabuting variant ng orihinal na Bourne Shell.

bakit hindi naghahatid ang aking mga imessage

Sa artikulong ito, inilalarawan namin ang shell scripting para sa ang Bash Shell .





2. Pagpapatupad ng isang Shell Script

Paano mo naisasagawa ang isang shell script? Simple Ipasa lamang ang path ng script bilang isang argument sa shell:

Isang sample na script ng shell:





echo 'hello world'

Patakbuhin ito tulad ng sumusunod:

$ bash hello.sh
# prints
hello world

Tandaan: Ang shell ay nangangailangan ng mga linya upang wakasan ng mga LF character (Line-Feed). Kung isulat mo ang iyong shell script sa Windows at subukang ipatupad ito nang direkta sa isang Linux system, maaari kang magkaroon ng mga error. Gumagamit ang Windows ng kombinasyon ng CR-LF (Carriage-Return-Line-Feed) para sa pagwawakas ng linya. Kailangan itong i-convert sa LF lamang. Suriin ang iyong Windows editor para sa mga paraan upang magawa ito.

May isa pang paraan upang magpatupad ng isang shell script nang direkta bilang isang utos. Ipasok ang sumusunod na linya (ang hashbang deklarasyon) bilang unang linya ng iyong shell script.

kung paano i-on ang touch screen windows 10
#!/bin/bash

Sa pagbabagong ito, ang aming simpleng shell script ay ngayon:

#!/bin/bash
echo 'hello world'

Ngayon, kailangan mong gawin ang file ng script na naisakatuparan tulad ng sumusunod:

$ chmod +x hello.sh

Sa puntong ito, maaari mong maisagawa nang direkta ang file ng script nang hindi na kinakailangang sanggunian ang shell nang malinaw.

$ hello.sh
# prints
hello world

Tingnan natin ngayon ang ilang mga bentahe ng paggamit ng mga script ng shell.

3. Pag-aautomat ng Gawain

Ang unang bentahe ng paggamit ng mga script ng shell ay ang pag-automate ng mga madalas na naisakatuparan na gawain. Ipagpalagay na mayroon kang isang gawain na kailangan mong gawin araw-araw. Kung kailangan mong magpatupad ng maraming mga utos sa iyong linux system araw-araw, maaari mong iimbak ang mga utos na ito sa isang file at patakbuhin ang script. Kabilang sa mga halimbawa ay:

  • I-archive at i-upload ang isang file o folder araw-araw sa a cloud imbakan pasilidad tulad ng S3.
  • I-compress ang mga file ng log na may posibilidad na lumago araw-araw.
  • Kumuha ng mga presyo ng stock, i-parse ang nakuha na data, at magpalitaw ng isang email o SMS kapag natutugunan ang ilang mga kundisyon (masyadong mataas o masyadong mababang presyo).

4. Pagsasama-sama ng Maramihang Mga Utos

Bilang karagdagan sa pag-automate ng mga madalas na gawain, maaari mo ring makita na kapaki-pakinabang na maaari mong pagsamahin ang maraming mga pagkakasunud-sunod ng mga utos sa isang solong utos. Ang pag-alala sa isang solong utos ay mas simple kaysa sa maraming mga utos, hindi banggitin ang pagkakasunud-sunod kung saan dapat silang maisagawa.

Ang isang halimbawa ay ang pagkakasunud-sunod ng boot-up ng Linux Operating System mismo. Bilang isang bahagi ng boot-up, nagpapatupad ang OS ng isang bilang ng mga utos upang makuha ang system sa isang wastong estado. Ang mga utos na ito ay mga script ng shell na nakatira sa ilalim ng / atbp direktoryo Kung titingnan mo ang isa sa mga script ng shell na ito, malalaman mo ang pagiging kumplikado ng pag-boot ng isang system, na maaaring kailangan mong gawin nang manu-mano sa kawalan ng mga script ng shell.

Ang sumusunod ay isang sample na script ng shell, / etc / profile , na isinasagawa sa tuwing mag-log in ang isang gumagamit. Isipin ang pag-type sa mga utos na ito nang manu-mano!

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ '$PS1' ]; then
if [ '$BASH' ] && [ '$BASH' != '/bin/sh' ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='h:w$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ '`id -u`' -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi

5. Madaling Bumuo

Posibleng magsagawa ng parehong mga aksyon bilang isang shell script sa loob ng isang regular na programa na nakasulat sa C / C ++. Gayunpaman, mas madaling isulat at i-debug ang isang shell script kaysa sa isang C / C ++ na programa. Lalo na para sa mga gawain sa pangangasiwa ng system na kasama ang pagpapatupad ng mga panlabas na utos, paglikha at pag-alis ng mga file at direktoryo, pag-redirect ng output, atbp.

Ang mga programa ng C / C ++ ay mas mahusay para sa isang mas mababang antas ng pagpapatakbo, tulad ng pagtawag sa mga tawag sa system, pagmamanipula ng mga istraktura ng data, atbp.

6. Transparency

Ang isang shell script, sa bisa ng pagiging isang file ng teksto, ay madaling matingnan upang suriin kung anong mga aksyon ang ginagawa nito. Sa kaibahan, ang tanging paraan na malalaman mo kung ano ang ginagawa ng isang program na nakasulat sa isang wika tulad ng C / C ++ (at naipon sa isang maipapatupad) ay kung pipiliin mong sabihin sa iyo o kung mayroon kang access sa source code. Halimbawa, maaari mong suriin kung ang isang shell script ay tinatanggal ang anumang mga file, at kung kailangan mo ang mga file na iyon, maaari mong kopyahin ang mga ito sa ibang lokasyon.

Mas madali din itong mag-diagnose ng mga problema sa mga shell script kaysa sa regular na mga programa dahil maaari mong tingnan ang source code. Nabigo ba ang iskrip na iyon dahil wala ang isang direktoryo? Maaari kang tumingin sa script code at lumikha ng direktoryo (kahit na ang isang mahusay na kumilos na shell script ay dapat suriin at likhain ito upang maiwasan ang mga naturang error).

7. Portable

SA shell script maaaring ilipat sa iba pang mga operating system na tulad ng Unix at tulad ng Unix at naisakatuparan (kung mayroon ang shell mismo). Kahit na sa paglilipat ng isang shell script mula sa iba't ibang mga arkitektura tulad ng x86, MIPS, Sparc, atbp, ang mga script ng shell ay mas portable kaysa sa mga programa ng C / C ++.

Ang tanging paraan na maaaring mailipat ang isang C / C ++ program at magamit sa ibang system ay kopyahin ang source code, buuin ang programa, at subukang patakbuhin ito. Kahit na pagkatapos, maaaring hindi ito gumana tulad ng inaasahan kung gumagamit ito ng code na tukoy sa arkitektura.

Ngayon na mayroon kang isang ideya kung ano ang mga shell script at ang kanilang maraming mga pakinabang, hindi mo nais na gamitin ang mga ito para sa iyong mga gawain? Anong mga isyu ang nahaharap mo sa paggamit nito? Mangyaring ipaalam sa amin sa mga komento sa ibaba.

paano i-format windows 10 na may usb
Magbahagi Magbahagi Mag-tweet Email 5 Mga Tip upang Supercharge ang Iyong Mga VirtualBox Linux Machine

Pagod na sa hindi magandang pagganap na inaalok ng mga virtual machine? Narito kung ano ang dapat mong gawin upang mapalakas ang pagganap ng VirtualBox.

Basahin Susunod
Mga Kaugnay na Paksa
  • Programming
  • Linux Bash Shell
Tungkol sa May-akda Jay Sridhar(17 Mga Artikulo Na-publish) Higit pa Mula kay Jay Sridhar

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe