Yadda Ake Rubutu da Amfani da Ayyukan Shell na Musamman da Laburare


A cikin Linux, rubutun harsashi yana taimaka mana ta hanyoyi daban-daban da suka haɗa da yin ko ma sarrafa wasu ayyukan gudanarwar tsarin, ƙirƙirar kayan aikin layin umarni masu sauƙi da ƙari mai yawa.

A cikin wannan jagorar, za mu nuna sababbin masu amfani da Linux inda za su iya adana rubutun harsashi na al'ada, bayyana yadda ake rubuta ayyukan harsashi na al'ada da ɗakunan karatu, amfani da ayyuka daga ɗakunan karatu a wasu rubutun.

Inda za a Ajiye Rubutun Shell

Domin gudanar da rubutunku ba tare da buga cikakken/cikakkiyar hanya ba, dole ne a adana su a ɗaya daga cikin kundayen adireshi a cikin canjin yanayi na PATH.

Don duba PATH ɗin ku, ba da umarnin da ke ƙasa:

$ echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

A al'ada, idan kundin adireshi ya kasance a cikin kundin adireshin gida na masu amfani, ana haɗa shi kai tsaye a cikin PATH ɗin sa. Kuna iya adana rubutun harsashi anan.

Don haka, ƙirƙiri kundin adireshi (wanda kuma yana iya adana rubutun Perl, Awk ko Python ko wasu shirye-shirye):

$ mkdir ~/bin

Na gaba, ƙirƙiri kundin adireshi mai suna lib (gajeren ɗakin karatu) inda zaku adana ɗakunan karatu naku. Hakanan zaka iya ajiye dakunan karatu don wasu harsuna kamar C, Python da sauransu, a cikinsa. A ƙarƙashinsa, ƙirƙirar wani kundin adireshi mai suna sh; wannan zai musamman adana muku ɗakunan karatu na shell:

$ mkdir -p ~/lib/sh 

Ƙirƙiri Ayyukan Shell da Laburaren ku

Ayyukan harsashi rukuni ne na umarni waɗanda ke yin aiki na musamman a cikin rubutun. Suna aiki kwatankwacin tsari, ƙasƙanci da ayyuka a cikin wasu harsunan shirye-shirye.

Ma'anar rubutun aiki shine:

function_name() { list of commands }

Misali, zaku iya rubuta aiki a cikin rubutun don nuna kwanan wata kamar haka:

showDATE() {date;}

Duk lokacin da kake son nuna kwanan wata, kawai ka kira aikin da ke sama ta amfani da sunansa:

$ showDATE

Laburaren harsashi kawai rubutun harsashi ne, duk da haka, zaku iya rubuta ɗakin karatu don adana ayyukanku kawai waɗanda za ku iya kira daga wasu rubutun harsashi.

A ƙasa akwai misalin ɗakin karatu da ake kira libMYFUNCS.sh a cikin ~/lib/sh directory tare da ƙarin misalan ayyuka:

#!/bin/bash 

#Function to clearly list directories in PATH 
showPATH() { 
        oldifs="$IFS"   #store old internal field separator
        IFS=:              #specify a new internal field separator
        for DIR in $PATH ;  do echo $DIR ;  done
        IFS="$oldifs"    #restore old internal field separator
}

#Function to show logged user
showUSERS() {
        echo -e “Below are the user logged on the system:\n”
        w
}

#Print a user’s details 
printUSERDETS() {
        oldifs="$IFS"    #store old internal field separator
        IFS=:                 #specify a new internal field separator
        read -p "Enter user name to be searched:" uname   #read username
        echo ""
       #read and store from a here string values into variables using : as  a  field delimiter
    read -r username pass uid gid comments homedir shell <<< "$(cat /etc/passwd | grep   "^$uname")"
       #print out captured values
        echo  -e "Username is            : $username\n"
        echo  -e "User's ID                 : $uid\n"
        echo  -e "User's GID              : $gid\n"
        echo  -e "User's Comments    : $comments\n"
        echo  -e "User's Home Dir     : $homedir\n"
        echo  -e "User's Shell             : $shell\n"
        IFS="$oldifs"         #store old internal field separator
}

Ajiye fayil ɗin kuma sanya rubutun aiwatarwa.

Yadda Ake Kira Ayyuka Daga Laburare

Don amfani da aiki a cikin lib, da farko kuna buƙatar haɗa lib ɗin a cikin rubutun harsashi inda za a yi amfani da aikin, a cikin fom ɗin da ke ƙasa:

$ ./path/to/lib
OR
$ source /path/to/lib

Don haka zaku yi amfani da aikin printUSERDETS daga lib ~/lib/sh/libMYFUNCS.sh a wani rubutun kamar yadda aka nuna a kasa.

Ba dole ba ne ka rubuta wata lamba a cikin wannan rubutun don buga takamaiman bayanan mai amfani ba, kawai kira aikin da ke akwai.

Bude sabon fayil tare da sunan test.sh:

#!/bin/bash 

#include lib
.  ~/lib/sh/libMYFUNCS.sh

#use function from lib
printUSERDETS

#exit script
exit 0

Ajiye shi, sannan ku sanya rubutun aiwatarwa kuma ku gudanar da shi:

$ chmod 755 test.sh
$ ./test.sh 

A cikin wannan labarin, mun nuna muku inda za ku iya adana rubutun harsashi, yadda ake rubuta ayyukan harsashi da ɗakunan karatu, kiran ayyuka daga ɗakunan karatu a cikin rubutun harsashi na yau da kullun.

Na gaba, za mu bayyana hanya madaidaiciya ta daidaita Vim azaman IDE don rubutun Bash. Har sai lokacin, koyaushe ku kasance da haɗin kai zuwa TecMint kuma ku raba ra'ayoyinku game da wannan jagorar ta hanyar bayanin da ke ƙasa.