Qoraallo qolof leh oo faa'iido leh barnaamij kasta

Man uted Waa barnaamij kumbuyuutar oo shaqadiisu tahay tarjumaadda amarrada. Waxay ku saleysan tahay qolofka Unix waxaana loo qoray mashruuca GNU noqoshada qolofka caadiga ah ee qaybinta badankood GNU / Linux. Magaciisu waa soo gaabinta Bourne-Mar labaad Shell (bourne qolof kale), ku ciyaarista ereyada (dhalashada mar labaad waxay ka dhigan tahay dib u dhalasho) ku saabsan Qolofta Bourne (sh), oo ka mid ahaa tarjumaadihi ugu horeeyey ee Unix.

Maanta waxaan soo bandhigi doonaa qoraalo qolof ah oo faa iido weyn u yeelan kara horumariyaasha. Badankood waxay ku shaqeeyaan qolof kasta Unix, in kastoo qaarkood ay u baahan yihiin in si khaas ah loogu fuliyo Man uted.

Ka jooji isticmaaleyaasha aan mudnaanta lahayn inay socodsiiyaan qoraalka

Qoraallada qaar waxay qabtaan hawlo maamul sidaa darteed waxaan dooneynaa kaliya isticmaalaha asalka ah inuu maamulo qoraalka. Xaaladdaas waxaan u isticmaali karnaa wax sidan oo kale ah:

#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "Este script debe ser ejecutado por el usuario root" 1>&2
exit 1
fi

U oggolow fulinta qoraalka kaliya isticmaale gaar ah

Si la mid ah koodhka kor ku xusan, waxaan u baahan karnaa kaliya isticmaale gaar ah oo socodsiiya qoraalka. Waxaan sidaas u sameynaa:

#!/bin/bash
AUTHORIZED_USER="usuario_permitido"
if [ $USER != $AUTHORIZED_USER ]; then
echo "Este script debe ser ejecutado por el usuario $AUTHORIZED_USER" 1>&2
exit 1
fi

Hubi in adeeg / hawl socodsiinayso

Haddii aan rabno inaan ogaano haddii ay jiraan howlo adeeg ama barnaamij socda waan isticmaali karnaa qoraalkan (xaaladdan waxay caddaynaysaa in jinku yahay Apache wuu socdaa):

#!/bin/sh
SERVICE='httpd'
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
echo "El servicio $SERVICE esta ejecutandose"
else
echo "Chanfle! El servicio $SERVICE esta detenido"
fi

Abuur feyl quful leh

Mararka qaarkood waa inaan hubinnaa in qoraalka uusan socon labo jeer ama ka badan isku mar. Tan waxaan u isticmaali karnaa faylasha qufulka. Kani waa nooc fudud oo qoraal ah oo noo oggolaanaya inaan sidan sameyno:

#!/bin/bash
lockfile=/var/lock/loquesea.lock
if [ ! -e $lockfile ]; then
touch $lockfile
echo "hago muchas cosas importantes aqui"
rm $lockfile
else
echo "ya hay otro proceso corriendo"
fi

Xaaladdan oo kale, waxaa la xaqiijiyay in faylka waxkastoo jira. Haddii ay jirto, qoraalka MA fulinayo shaqooyinkiisa. Haddii aysan jirin, waxay abuurtaa feylka, waxay socodsiisaa howlaha ay u baahan tahay inay socodsiiso, waana laga saaraa. Laakiin, tani maahan mid gebi ahaanba lagu kalsoonaan karo. Maxaa dhacaya haddii inta qoraalkayagu soconayo si lama filaan ah loo xidho?

Xaaladdaas markaa feylka qufulka lama tirtiri doono, sidaa darteedna nama oggolaanayso inaan mar labaad qoraalka sii wadno. Si loo daboolo kiisaskaas, waxaan adeegsan karnaa amarka dabinka ee noo ogolaanaya inaan fulino amarrada haddii ay dhacdo in qoraalkeennu si lama filaan ah u dhammaado. Kani waa nooc aad u horumarsan oo waliba badbaadiya PID qoraalka oo ku fuliya feylka qufulka:

#!/bin/bash
lockfile=/var/lock/loquesea.lock
if ( set -o noclobber; echo "$$" > "$lockfile") 2> /dev/null;
then
trap 'rm -f "$lockfile"; exit $?' INT TERM EXIT
echo "hago muchas cosas aqui tranquilamente"
rm -f "$lockfile"
trap - INT TERM EXIT
else
echo "Ya hay otro proceso de este script ejecutandose"
echo "corriendo con el PID: $(cat $lockfile)"
fi

Aynu wax yar si fiican u fahamno amarka dabin. Qaacidadeedu asal ahaan waa tan: Calaamadda dabinka amarka [signal…]; halka ay calaamaddu tahay calaamadda joojinta ee aad rabto inaad qabato. Haddii aad rabto inaad aragto liiska calaamadaha la heli karo waad ordi kartaa amarka dil -l. Kiiskii hore calaamadaha INT ayaa la isticmaalay (waxay qabataa joojinta ay soo saartay Ctrl + c), MUDDADA (joojinta soo saaray amarka dilka) iyo KA BAX (Joojinta caadiga ah ee qoraalka, ama sababtoo ah ma jiraan khadad dheeri ah oo lagu fuliyo ama sababta oo ah waxay ka soo baxaysaa amarka bixitaanka).

Liiska xulashooyinka

Si aad u sameyso menu aan ugu ogolaano isticmaale inuu doorto taxane xulashooyin ah waxaan isticmaali karnaa nidaamka soo socda:

#!/bin/bash
clear
while :
do
echo " Escoja una opcion "
echo "1. quien soy?"
echo "2. cuanto espacio tengo"
echo "3. que es esto?"
echo "4. Salir"
echo -n "Seleccione una opcion [1 - 4]"
read opcion
case $opcion in
1) echo "este eres:";
whoami;;
2) echo "tienes esto";
df;;
3) uname -r;;
4) echo "chao";
exit 1;;
*) echo "$opc es una opcion invalida. Es tan dificil?";
echo "Presiona una tecla para continuar...";
read foo;;
esac
done

Weydiiso xaqiijin kahor intaadan qorin qoraal

Mararka qaar way waxtar leedahay in adeegsaduhu xaqiijiyo fulinta bayaanno tiro ah, taasi waa, farriinta caadiga ah ee weydiisata adeegsadaha inuu ku qoro haa ama maya. Waxaan sidan u samayn karnaa sidan:

#!/bin/bash
while true; do
echo
read -p "esta seguro de hacer lo que sea que vaya a hacer " yn
case $yn in
yes ) break;;
no ) exit;;
* ) echo "por favor responda yes o no";;
esac
done
echo "si se ejecuta esto es que aceptaste"

Dhamaadka maqaalka. Si fudud weyn 😀

Tafatir: Waa inaad ka taxaddartaa meelaha bannaan iyo tab, taas oo sababo jira awgood aan u soo bixin ¬¬


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Miguel Ángel Gatón
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.

  1.   KZKG ^ Gaara dijo

    Fuck iyagu waa weyn yihiin O_O ... wax badan ayey ka caawin doontaa waxyaabaha yaryar ee aan ku sameeyo Bash 😀

  2.   ren434 dijo

    Qoraallada waa kuwo aad u wanaagsan! Waa maxay waxtarka weyn ee dhab ahaanta, kaliya wixii aan raadinayay.

    PS: Madashu way soo degtay.

    1.    KZKG ^ Gaara dijo

      Haa, Server-ka meesha gogosha lagu rakibay waa khadka toosan, fikrad maleh sababta ... waxaan email ugu qornay saaxiibkaa daryeela, si aan u aragno waxa uu nooga jawaabayo

      Thanks.

  3.   ren434 dijo

    Waa hagaag, aan rajeyno inaysan ahayn wax culus.

  4.   bidix dijo

    Miyuu "buunshaha" sidoo kale ku jiray Code Ninja? XD

  5.   taregon dijo

    Waan jeclahay awooda bash 😉 waxayna ii sheegeen waxa luuqada C loogu talagalay ... waa hagaag, qoraalka qolofta waxaa kujira amarro badan oo caan ah.

  6.   Christopher dijo

    Mahadsanid, runtii waan jeclaaday

  7.   Angelblade dijo

    Xaqiijinta halbeegyada aqbasho waa wax aad u faa'iido badan. Ma aanan aqoonin sida loo sameeyo menus =)

  8.   Hyuuga_Neji dijo

    Weyn… hadda waxaan ku siin karaa xoogaa "adkaanta" qoraalkayga churros lol

  9.   tuke dijo

    Farxad weyn ayaa ah inaan arko sida shaqadeena hoose ee CodeNinja ugu adeegto bulshada caalamiga ah ee Linux

    1.    KZKG ^ Gaara dijo

      Cad! 🙂
      Wax walba waa in la caawiyo oo wax la wada geysto, mana aha in la abuuro olol, sax? 😉

  10.   Diego dijo

    Nidaamka qoraalka ee soconaya waxaa lagu hagaajin karaa xoogaa adoo dhigaya ikhtiyaarka aad ku dooran karto nidaamka aad rabto inaad wax ka ogaato, waxay umuuqan doontaa sidan oo kale:

    #! / bin / bash
    echo "Dooro adeeg"
    akhri ADEEGA
    # ADEEG = 'mysql'
    haddii ps ax | grep -v grep | grep $ ADEEGGA> / dev / null
    ka dibna
    echo "$ ADEEGGA adeegga ayaa socda"
    kale
    ku celcelinta "$ ADEEGGA adeegga waa la joojiyay"

  11.   Jua Carlos C. dijo

    Anigu waxaan ahay mid wax ku ool ah qoraalkaaga, laakiin waxaan raadinayaa qoraal gaar ah oo lagu xalliyo dhibaatada i haysata, taas oo ah kuwan soo socda: Waxaannu ku haysannaa server-ka dalabka ee shirkadda in dadka gudaha ku jira ay ku helaan taleefanka, ayna fuliyaan codsi gaar ah. taasi way xadidan tahay Ruqsadaha, adeegsadayaashu waxay ku xad gudbaan oo ay furaan wax ka badan hal telnet si ay ula wareegaan 2 ama in ka badan oo rukhsad ah, sidaa darteed qoraalka aan u maleeyay ayaa ah in qaab ahaan, loo hubiyo nidaamka telnet ee aan shaqeyneyn wax ka badan 2 saacadood sidaas darteedna loo diro dil ilaa pid-kaas, ma i caawin kartaa?

    1.    Diego dijo

      Ku rakib barnaamijka soo socda

      Kartida rakibida autolog

      Iyo feylka qaabeynta ee aad ku leedahay /etc/autolog.conf

  12.   Tiitos dijo

    Wanaagsan, saaxiib, waxaan ku weydiin karaa su'aal, waxaan u baahanahay qoraal qolof leh oo ikhtiyaarro ah oo waxaan ku saleeyay taada oo si fiican ayey u shaqeysaa, laakiin mid ka mid ah xulashooyinka waa inuu diro emayllo (adoo adeegsanaya boostada), waxay ku weydiineysaa maadada, qoraalka iyo qaatayaasha shaashadda iyo waxa diraya oo hubinaya in si sax ah loo diray, iyadoo mailq aan arki karo safka oo aan arki karo haddii la diray, laakiin sidee baan ugu diraa emaylka amar ahaan adoo adeegsanaya doorsoomayaasha helay mawduuca, qoraalka iyo dadka qaata ? 🙁

    1.    KZKG ^ Gaara dijo

      Escríbeme a mi email (kzkggaara[at]desdelinux[dot]net) para hablar con más calma, te ayudo con mucho gusto 🙂

      1.    Tiitos dijo

        Mahadsanid sxb, waad dhaaftay!

  13.   Fer dijo

    Waad salaaman tihiin.
    Waxaan la kulmay tusaalooyinkan aadka u wanaagsan marki aan u baahday menu.
    Waxaan bilaabay inaan sameeyo mana awoodo inaan ku shaqeeyo (talaabooyinkii hore).
    Waxaan hayaa 247 cunsur, oo tilmaamaya dhulal kala duwan.
    Waxa aan u baahanahay waa menu meesha aan ka dooranayo dalka:
    #! / bin / bash
    cad
    halka:
    do
    echo »Dooro waddanka aad isku daydo»
    echo «1. Afghanistan (AF) »
    echo «2. Albania (AL) »
    echo «3. Jarmalka (DE) »
    echo «5. Angola (AO) »
    echo «6. Anguilla (AI) »
    .. wuxuuna soconayaa ilaa 247

    echo -n "Xulo ikhtiyaar [1 - 247]"
    ikhtiyaarka aqri
    kiiska $ doorasho ee
    1) echo "kani waa adiga:"; whoami ;;
    2) ku celcelinta "tan waad haysataa"; df ;;
    3) dhawaaqa ""; uname -r ;;
    4) echo "bye"; bixida 1 ;;
    5) echo "kani waa adiga:"; whoami ;;
    6) echo "kani waa adiga:"; whoami ;;
    … Oo soconaya illaa 247
    *) echo «$ opc waa ikhtiyaar aan ansax ahayn. Aad ayey u adag tahay? ";
    echo "Riix fure si aad u sii wado ...";
    aqri foo ;;
    in C
    soo gabagabeeyay

    Dabeecaddu waa sida soo socota:
    Ikhtiyaar kasta marka laga reebo 4, oo ah soosaarka, wuxuu tirtirayaa lambarka la geliyay wuxuuna sugayaa lambar cusub.
    Gelitaanka 4 ayaa soo baxa.
    Haddii aan dhigo lambarka 4 ee xariiq kale (aan dhahno 150) waxay u soo baxdaa si siman dhibaato la'aan.
    Waxaan sidoo kale isku dayay inaan u dhigo koodhka qaabkan:
    151) ku celceliyaa "kan aad tahay:";
    whoami ;;
    isla natiijadaas.
    Waxaan la yaabanahay haddii ay jiraan ikhtiyaarro ka wanaagsan liiska dheer oo kale dabcan sidoo kale qalad ayaan sameynayaa.
    Caawinaad ayaa la qadarin lahaa, mahadsanid

  14.   Kaliya Raul dijo

    heer sare ... Waxaan u maleynayaa inay aad u wanaagsan tahay inaad gasho qolofka

    gracias

  15.   Marcos dijo

    weyn, haye sideen uga dhigi karaa bashkayga inuu ku shaqeeyo feyl
    Tusaale:

    upload.sh fotodelavecina.jpg

    anigoo u maleynaya in qoraalkeyga bash "upload.sh" uu haayo macluumaadka marinkeyga ftp

    salaan iyo mahadsanid 😀

  16.   netzulo ntx dijo

    Nink wanaagsan, aad baad ugu mahadsantahay dhamaan qoraalada, waxaan sameeyay Server CentOS adiguna ma ogid sida wanaagsan ee sheyladan ii imaadaan, fadlan ila soo xiriir email. Waxaan rabaa inaan wax kuu soo bandhigo

  17.   gabriel balderramos dijo

    Maxaad u isticmaashaa akhrinta foo marka aad samaynaysid liiska cuntada? jawaabo deg deg ah ayaan u baahanahay