Fahimtar Linux Masu-bambanta a Harshen Rubutun Shell - Sashe na 9


Mun riga mun rubuta jerin labarai akan Rubutun Shell na Linux wanda aka yi marhabin da wannan lokacin kuma yana da mahimmanci har yanzu. Anan shine hanyar haɗi zuwa tarin labarai akan rubutun harsashi.

  1. Koyi Rubutun Shell Linux

Anan a cikin wannan labarin za mu ga masu canji, aiwatar da shi da aiwatar da shi a cikin rubutun harsashi.

Ana iya tura fitar da umarni zuwa daidaitaccen fitarwa ko fayil kuma ana iya adana shi a cikin mai canzawa, haka nan. Idan fitarwar umarni ya isa girma kamar yadda bai dace da allon ba an bar mu kawai tare da zaɓin adana fitarwa zuwa fayil zuwa cikin mai canzawa. Ɗayan fa'ida na adana fitarwa zuwa mai canzawa shine saurin jarrabawa. Ana ajiye masu sauye-sauye cikin ƙwaƙwalwar ajiya don haka yana ƙoƙarin yin sauri idan aka kwatanta da maidowa daga fayil.

Maɓalli wani muhimmin sashi ne da ake amfani da shi a rubutun Shell kuma ana ayyana su ta amfani da umarnin bash \Bayyana.Don ayyana madaidaicin faɗin 'matakin', muna buƙatar aiwatar da umarnin da ke ƙasa.

$ declare LEVEL

Lura: Muna buƙatar amfani da typecast, ginanniyar sanarwa don daidaituwar harsashi.'Yanayin' ya fi ci gaba kuma ya ƙunshi duk fasalulluka, don haka ana ba da shawarar lokacin amfani da BASH.

  1. Dole sunan mai canzawa ya ba da hujja, amfani da m a cikin rubutun.
  2. An ba da shawarar yin amfani da suna mai canzawa iri ɗaya cikin shirin.
  3. Sunan masu sauye-sauye na iya zama babba da ƙananan baƙaƙe amma ta al'ada umarnin harsashi suna cikin ƙananan haruffa don haka ya kamata mu yi amfani da sunan masu canji a cikin manyan haruffa, don cire duk wani rudani. misali, TOTAL_BILLED_AMOUNT, SELL_REPORT, ORDER_RECEIPT, da sauransu.

Ana iya sanya madaidaicin ƙima ta amfani da alamar daidai (=). Don sanya kirtani mara komai ga maɓalli dole ne mu ba mu ba da kowane ƙima bayan alamar daidai.

$ LEVEL =

Duba ƙimar da aka adana a madaidaicin 'LEVEL' azaman.

$ printf "%i" $LEVEL

printf, umarnin mafi yawan masu shirye-shiryen ‘C’ suna sane da su, suna buga bayanai. %i - Yana wakiltar Integer. Za mu iya maye gurbinsa da %c don Harafi ko %c don kirtani, kamar yadda kuma lokacin da ake buƙata.

$LEVEL: Lura da ''$'' wanda ke aiki azaman madaidaicin ƙimar madaidaicin 'LEVEL'.

$ printf "%i" $LEVEL
0

Sanya ƙima ga mai canzawa.

$ LEVEL=0

Bincika bayanan da aka adana a cikin m.

$ printf "%i" $LEVEL
0

NOTE: Yana da ban sha'awa a lura cewa a cikin duka lokuta, lokacin da ba mu sanya darajar zuwa mai canzawa ba kuma lokacin da muka sanya darajar '0' zuwa madaidaicin 'LEVEL' abubuwan 0. Ko da yake fitarwa iri ɗaya ce a cikin duka lokuta biyu. amma rubutun harsashi yana sarrafa duka bayanin mabambanta daban-daban.

Sanya sabon ƙima ga mai canzawa.

$ LEVEL=121

Bincika bayanan da aka adana a cikin m.

$ printf "%i" $LEVEL
121

Sanarwa umarni ne na BASH kuma yana haifar da canji kawai idan an aiwatar da shi. Maɓallin da aka ƙirƙira ya kasance a cikin ƙwaƙwalwar ajiya har sai rubutun ya tsaya ko kuma ya lalace.

$ unset LEVEL

BASH yana da sama da masu canji 50 da aka riga aka ayyana. Wasu daga cikin waɗannan masu canji suna da ma'ana ta musamman a haɗe zuwa BASH misali, RANDOM mai canzawa yana fitar da lamba bazuwar. Idan ba a saita shi ba sannan kuma an sake siffanta shi, ainihin ƙimar canji ta ɓace har abada. Don haka an ba da shawarar kada a yi amfani da kowane tsarin da aka ƙayyade.

Anan akwai jerin wasu masu canjin BASH masu amfani.

  1. BASH — Cikakken sunan Bash.
  2. BASH_ENV—A cikin rubutun harsashi, sunan fayil ɗin bayanan da aka aiwatar kafin a fara rubutun.
  3. BASH_VERSION — Sigar Bash (misali, 2.04.0(1) -saki).
  4. COLUMNS — Adadin haruffa kowane layi akan nunin ku (misali, 80).
  5. HOSTNAME — Sunan kwamfutar. A ƙarƙashin wasu nau'ikan Linux, wannan na iya zama sunan injin. A kan wasu, yana iya zama cikakken sunan yanki.
  6. HOSTTYPE—Nau'in kwamfuta.
  7. GIDA—Sunan kundin adireshin gidan ku.
  8. OSTYPE — Sunan tsarin aiki.
  9. PATH — Jerin hanyoyin bincike da ke raba-hannu don nemo umarni don aiwatarwa.
  10. PPID—ID ɗin tsari na tsarin iyaye na harsashi.
  11. PROMPT_COMMAND — Umurni don aiwatarwa kafin saita saitin farko na PS1.
  12. PWD — Littafin jagora na yanzu (kamar yadda umarnin cd ya saita).
  13. RANDOM — Yana dawo da lambar bazuwar tsakanin 0 zuwa 32767 duk lokacin da aka ambaci ta.
  14. SHELL - Mafi kyawun harsashi don amfani; don shirye-shiryen da suka fara maka harsashi.
  15. TERM—Nau'in kwaikwayi na ƙarshe (misali, na'ura mai kwakwalwa).

Ka'idar Rarraba Kalma.

$ LEVEL=0
$ printf "%i" $LEVEL
0

AND

$ LEVEL=”0”
$ printf "%i" $LEVEL
0

A cikin duka abubuwan da aka fitar sun kasance iri ɗaya ne. Don haka menene bambancin sakamako yayin amfani da zance?

Bari mu bincika iri ɗaya tare da bayanan mabambanta.

$ LEVEL=0 ; 1 ; 2 ; 3 ; 4 ; 5
bash: 1: command not found 
bash: 2: command not found 
bash: 3: command not found 
bash: 4: command not found 
bash: 5: command not found
$ printf "%i" $LEVEL
0

Ba a ma maganar, abin da aka fitar ba daidai ba ne. BASH yana ɗaukar sarari bayan '0' azaman ƙarewa kuma saboda haka an saita ƙimar canji azaman '0'. Yanzu muna ƙoƙarin yin amfani da zance don masu canji kamar yadda ke ƙasa.

$ LEVEL=”0 ; 1 ; 2 ; 3 ; 4 ; 5”
$ printf "%s" $LEVEL 
0;1;2;3;4;5

Har yanzu sakamakon bai yi daidai ba. BASH ya ɗauki ma'auni masu canzawa ya cire duk wuraren da ke tsakanin su. Don haka printf bai fassara 0,1,2,3,4,5 a matsayin mabambantan dabi'u ba. To menene mafita?

printf "%s" "$LEVEL" 
0 ; 1 ; 2 ; 3 ; 4 ; 5

Ee! Sanya canji mai canzawa a ƙarƙashin ƙididdiga shine mafita. Ƙididdigar ƙididdiga ta ƙunshi haruffa a cikin harsashi kuma suna fassara haruffa na musamman a hanya mai ma'ana.

Ana iya amfani da ambato baya-baya kuma yana da kyau a haɗa musanya masu canji tare da ƙididdiga. Haka kuma ana iya amfani da shi don ware gaba ɗaya rubutu daga ambato. Ga misali.

$ LEVEL=5 
$ FLAG_MESSAGE="I HAVE CLEARED LEVEL""$LEVEL"". I Deserve appreciation." 
$ printf “%s” “$FLAG_MESSAGE”
“I HAVE CLEARED LEVEL5. I Deserve appreciation.”

Rarraba guntun rubutun da aka nakalto tare da sarari zai haifar da matsala iri ɗaya kamar yadda aka tattauna a sama. Bash zai kula da farin sarari a matsayin ƙarewa. Wata hanyar canza canji ita ce.

$ LEVEL=5

$ FLAG_MESSAGE="I HAVE CLEARED LEVEL ${LEVEL}. I Deserve appreciation." 

$ printf “%s” "$FLAG_MESSAGE" 
“I HAVE CLEARED LEVEL 5. I Deserve appreciation.”

Kalmomi guda ɗaya suna ƙuntata BASH daga buga haruffa na musamman.

$ printf “%s” '$FLAG_MESSAGE'
“$FLAG_MESSAGE”

Backslash yana aiki kamar zance guda ɗaya don harafi ɗaya. Shin kun yi tunanin ta yaya za ku buga (\)?

$ printf "%c" "\""

Lokacin da %q aka tara tare da bugawa, yana ba da baya bayan kowace kalma don tabbatar da tazarar kalma.

$ LEVEL=5

$ FLAG_MESSAGE="I HAVE CLEARED LEVEL ${LEVEL}. I Deserve appreciation." 

$ printf “%q” "$FLAG_MESSAGE" 
“I\ HAVE\ CLEARED\ LEVEL\ 5.\ I\ Deserve\ appreciation.”

Shi ke nan a yanzu. A koyaushe muna ƙoƙarin samarwa masu karatunmu labaran da ke da amfani gare su lokaci-lokaci. Labarin da aka rufe na sama yana da yawa don haka sauran batutuwan da ke da misalan za a samar da su a cikin labarin na gaba wanda zai haɗa da 'Halayen mabambanta', 'Tsarin fitarwa' da sauransu.

Har zuwa lokacin Kasance tare kuma ku haɗa zuwa linux-console.net. Kar ku manta da samar mana da ra'ayoyin ku masu mahimmanci a cikin sashin sharhin da ke ƙasa.