Toiminnot Unixissä - Erityyppiset toiminnot Unixissa syntaksin kanssa

Sisällysluettelo:

Anonim

Johdatus Unixin toimintoihin

Tässä artikkelissa opitaan joihinkin Unixin perustoimintoihin. Monet meistä ovat jo saattaneet tietää, mitkä toiminnot ovat, mutta haluan antaa sen lyhyesti. Toiminto sisältää joukon ohjeita, jotka suoritetaan koodilla, joka kirjoitetaan sisennetyn lohkon sisään. Ne ovat hyödyllisiä, kun meillä on tietty tehtävä, joka ohjelman on tehtävä toistuvasti säännöllisin väliajoin. Saman koodin kirjoittamista joka kerta ei tietenkään ole suositeltavaa, joten toimintojen avulla voimme helposti käyttää koodia uudelleen ja soittaa siihen aina, kun sitä tarvitaan. Katsotaan nyt, kuinka voimme määritellä ja toteuttaa nämä toiminnot Unix Shell -komentosarjojen avulla.

Unixin funktioiden syntaksi

Toimintojen luominen noudattaa perussyntaksikoodia seuraavasti. Esimerkki toiminnosta.

Koodi

First()
(
echo “ First Program for defining functions ”;
echo “ Yayyy! “;
)

Täällä olemme kirjoittaneet kaksi kaikulauseketta ensimmäisen toiminnon sisälle. Funktion soittamiseen voimme soittaa vain toiminnon nimellä.

ulostulo

Parametrien siirtäminen toimintoon Unixissa

Olemme onnistuneesti tehneet yksinkertaisen toiminnon, kutsuneet sen ja suorittaneet vaaditut komennot. Entä jos minun on lisättävä kaksi numeroa käyttäjän syöttämiin arvoihin? Joten tässä näemme kuinka voimme kirjoittaa funktion argumenteilla. Perussyntaksi olisi sama. Esimerkki parametroidusta toiminnosta

Koodi

Second()
(
echo “Enter your name: “;
read name;
echo “Hi $name, have a good day”;
)

ulostulo

Se kehottaa meitä antamaan nimen ja toivomaan heille

Samalla tavalla voimme jopa luoda skriptitiedoston. Kirjoitetaan lisätoiminto kuorikomentosarjan sisälle ja katsotaan miten se toimii.

Koodi

vi add.sh
echo “enter first number: “;
read a;
echo “enter the second number: “;
read b;
sum=$((a+b));
echo “ Result is $sum”;
*********************
Save the file with : wq!

ulostulo

Huomaa: Joskus suorittaessamme sh-komentosarjaa, saatamme virheen seuraavasti:

Ainoa tämä on tehtävä tässä päivittämällä tiedostojen käyttöoikeudet.

Voimme jopa suorittaa sh-tiedoston komennolla. /add.sh

Samalla tavoin voimme jopa suorittaa toiminnon tarjoamalla komentoriviargumentteja. Joten katsotaan kuinka voimme tehdä tämän lisäämällä kolme numeroa.

Koodi

(
number1=$1;
number2=$2;
number3=$3;
sum=$((number1+number2+number3));
echo “Sum is $sum”;
)

Nyt voimme siirtää numeromme komentoriviargumenteina ja saada sitten vaaditut tulokset.

Entä jos emme välitä argumentteja toiminnolle?

Ja jos annamme vain kaksi argumenttia?

Voimmeko siirtää kielet?

Meillä voi olla jopa koodimme siten, että se voi kaiuttaa virheen, kun virheelliset argumentit välitetään. Katsotaan alla tässä, kuinka voimme pyytää käyttäjää syöttämään argumentteja, jos komentoriviargumentteja ei ole annettu.

Koodi

Add()
(
number1=$1;
number2=$2;
if ( $# -ne 2 ); then
echo “ Enter two numbers to add “;
fi
sum=$((number1+number2));
echo “ Sum is : $sum “;
)

ulostulo

Jos emme lähetä mitään argumentteja funktiollemme, se antaa kaikuomme, missä olemme pyytäneet antamaan kaksi komentorivinumeroa ja antamaan sitten summan tulosteen. Se tekee niin, koska emme käskeneet toimintoa lopettamaan, jos kohtaamme virheen. Toisessa tapauksessa voimme nähdä, että lähtö antaa summan oikein ilman välikaikua. Voimme jopa käyttää paluukomentoja palauttaaksesi arvot näille Unix-toiminnoille. Palautuslaskelman arvo tallennetaan dollareihin?

ulostulo

Voitko yrittää kirjoittaa funktion, joka puhkeaa, jos emme lähetä argumentteja?

Sisäkkäiset toiminnot Unixissä

Nimeämällä voimme selvittää, että Sisäiset toiminnot tarkoittavat funktion määrittämistä toiminnon sisällä. Katsotaan kuinka voimme tehdä sen nyt. Kirjoitamme tämän kuoren käsikirjoituksen helpottamiseksi ymmärrystä.

Koodi

vi Nested_Function.sh
***** Code Inside the sh Function*******
#!/bin/sh
First()
(
echo “ Inside First Function “;
echo “ Calling the second function below “;
echo “**********”;
Second
echo “**********”;
echo “ After calling Second function “;
)
Second()
(
echo “ Inside Second Function”;
echo “ Done “;
)
First
************************
Save the file with : wq!

ulostulo

Yllä olevassa esimerkissä kutsuimme juuri toista toimintoa ensimmäisen sisällä. Kirjoita nyt funktio vain ensimmäisen funktion sisään.

Koodi

vi Nest_Func1.sh
***** Code Inside the sh Function*******
First_One()
(
echo “ Inside the function First_One”;
echo “ Below is the inner function “;
Second_One()
(
echo “ ********** “;
echo “ Inside Inner function”;
echo “ Completed Second Function”;
echo “ ********** “;
)
echo “Done with second example too”;
)
First_One
Second_one
************************
Save the file with : wq!

Mitä tulosta odotat? Luuletko, että sekä ensimmäisen että toisen funktion yksityiskohdat näytetään?

ulostulo

Voimme selvästi nähdä, että toiminto ei kutsunut sisäistä toimintoa sen sisällä. Joten mikä täällä on ongelma?

Käsikirjoituksemme sisällä olemme kutsuneet vain ensimmäistä toimintoa. Kokeile nyt myös soittamalla toiselle toiminnolle. Kuten havaittiin, tässä emme voi kutsua toimintoa yksinään. Edellä olevassa koodissa olemme korostaneet lisätyn koodin.

ulostulo

Huomaa, että kaiku, jonka kirjoitimme toisen toiminnon suorittamisen jälkeen, on tullut itsensä edelle. Jos yritämme kutsua ensin toista toimintoa, sen jälkeen ensimmäistä?

ulostulo

Voimme selvästi ymmärtää, että ennen kuin pää / ensimmäistä toimintoa kutsutaan, sisäistä toimintoa ei kutsuta. Voitko kokeilla kahden numeron lisäämistä sisäkkäisillä funktioilla? (Yksi käyttäjäarvojen syöttämiseen ja toinen numeroiden lisäämiseen)

johtopäätös

Joten näin voimme määritellä toiminnot Unixissa. Ja yksi huomattava etu Unixissa, jonka löysin, oli tulosteen virhe, joka ymmärretään helposti ja voi auttaa oikaistamaan koodiamme vastaavasti. Kokeile suorittaa nämä toiminnot ja käytä myös paluukomentoa. Hyvää oppimista Unixissa.

Suositeltava artikkeli

Tämä on opas Unixin toiminnoista. Tässä keskustellaan johdannosta Unixin funktioista ja erityyppisistä toiminnoista sekä syntaksista ja yksityiskohtaisista selityksistä. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Unix-arkkitehtuuri
  2. Unix-komennot
  3. Unixin käyttö
  4. UNIX-haastattelukysymykset
  5. Opas Unix-operaattoreille