Hubi haddii fayl ama galka jira ama aanu jirin (iyo in ka badan) oo loo yaqaan 'IF loop'

Waxba ma aanan dhigin Man uted, waana iyada oo aan galayo dunida cajiibka ah ee Python in aan wax yar ka illaaway saaxiibkan kale oo aad ii caawiyay

Halkan waxaan wax uga dhigay dadka xiisaha leh Bash, sida cinwaanku sheegayo ... Waxaan ku tusi doonaa sida loo hubiyo in fayl ama faylku ka dhex jiro nidaamka, kaliya adoo adeegsanaya: if

Waxaan abuureynaa feyl .sh oo aan siino rukhsad dil ah, tan waxaa kuugu filan inaan amarka soo socda ku rido terminal:

taabo tijaabada.sh && chmod + x test.sh

Tani wuxuu sameeyay waa abuurista faylka (taabasho tijaabo.sh) sidoo kale waxay ku siinayaan rukhsad dil ah (chmod + x baaritaanka.sh)

Kadib aan ku qorno waxyaabaha soo socda:

if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi

Muxuu sidan sameeyaa

Fudud 😀

Safka hore - » haddii [-d / opt /];

Halkan waxaan ku weydiineynaa, / opt / diiwaanka ma jiraa? Haa tusaha / galka, maxaa yeelay -d waxaa loola jeedaa buugga ama galka.
Kadibna haddii ay jirto waxaan ku daabici doonnaa terminalka «Haa, way jirtaa.»(Tani waa khadka 2 iyo 3)
Haddii kale iyo / opt / ma jiraan, markaa waan daabici doonnaa «Maya ma jiro»(Khadadka 4 iyo 5)
Ka dib safka ugu dambeeya (lambarka 6) waxaan xiri doonnaa if iyo waa intaas.

Maqaalka laxiriira:
Samee xiriir shabakadeed ka dhexeeya PC-ga iyo mashiinnada Virtualbox

Samee baaritaanka, wuxuu ku tusi doonaa / opt / inuu jiro.

Haddii aad rabto inaan ku tuso qoraalka kale (midka aan jirin) u beddelo / doorto / gal kale oo faylal kale ah oo aan nidaamkaaga ka jirin, tusaale ahaan: / asd /

Sidaad u aragto, -d waxay naga caawineysaa inaan ogaano haddii buugga uu jiro, hadda haddaan u beddelno - d - - waa inaan hubin jiritaanka faylasha (-d = buugga, -f = faylka / faylka)

Tusaale ahaan:

if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi

Waa tan liiska xulashooyinka:

-d - »Hubi haddii buugga qaarkood uu jiro

-f - »Hubi haddii feyl cayiman jiro

-w - »Hubi haddii feyl cayiman uu leeyahay oggolaansho qoritaan

-x - »Hubi haddii feyl gaar ahi leeyahay oggolaansho dil.

Iyo sidoo kale ma jiraan wax badan oo lagu daro 🙂

Waan ogahay inay faa iido iyo xiiso u yeelan doonto kuwa jecel inay wax ku bartaan Bash 😉

Salaan


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.   Hugo dijo

    Hab kale oo loo sameeyo iyada oo aan haddii… markaa..else:

    test -f /etc/hosts && elcomando

    Ama sidoo kale

    test ! -f /etc/hosts && echo "no se encontró el archivo"

    Iwm

    1.    KZKG ^ Gaara dijo

      Xaq 😀
      _ O_O… Ma waxaad tahay Hugo, Hugo oo reer Cuba ah? … Isticmaalka Windows8, WTF !!!

      1.    Hugo dijo

        Hagaag, haa, waan bartay OS-gaan haddii aan daacad u ahaado, waxa kaliya ee aan ka helay faa'iido waa maareeyaha nuqul, haddii kale shaqsiyan waxaan u arkaa inay tahay cayayaan, gaar ahaan isdhexgalka isku dhafan iyo barnaamijyada metro. Waan ka jeclahay wax ka yar Vista iyo 7 (inkasta oo ay waxoogaa ka waxtar yar yihiin kuwan), oo aanan jeclayn midkoodna. Waxa kaliya ee aan u adeegsanayo waa ciyaarida NFS13 iyo Skyrim, laakiin OS-kan ayaa qaadaya boos aad u badan oo ay ahayd inaan tirtiro qeybkeyga Linux [snif].

        Si kastaba ha noqotee, nabadgelyadaada maskaxda, waxaan kuu sheegi doonaa in maalin ka hor shalay aan soo degsaday Arch ISO bishii Janaayo waxaanan qorsheynayaa inaan dhadhan u siiyo nooca x86-64, isla marka aan helo repo (miyaad heli doontaa?). Hadda sidaan arkay waxay u isticmaashaa baakado la saxeexey markii hore, waxay i siinaysaa kalsooni badan inaan ku quusto.

        Aabbahayna wuxuu kaloo ii sheegay inuu ii soo dirayo Sony Xperia, oo aan doonayo inaan uga faa'iideysto inaan barto qaar ka mid ah barnaamijyada loogu talagalay Android, taas oo ahayd rajo aan sugeyn. Marka isdaji, wali ma aanan aadin dhanka mugdiga ah ee ciidanka, buahahahaha 😉

  2.   barxad dijo

    nin imtixaan

    1.    msx dijo

      Sure

  3.   Ceeriin-aasaasiga ah dijo

    Wenas! ..

    Waxaan sameyn karnaa isla midkan .. ..laakiin tusaha waxaa loo gudbiyay halbeeg ..

    if [ -d $1 ];
    then
    echo "Sí, sí existe."
    else
    echo "No, no existe"
    fi

    Oo waxaan ugu yeeraynaa sida:

    ./test.sh / opt /

    Salaan ..

  4.   badbaadi dijo

    HADDII uusan ahayn wareegga xD

  5.   Gregory seefayaasha dijo

    Waxay igu habboon tahay sida galoof loogu talagalay qoraalka aan sameynayo. Ma ansaxbaa in la isticmaalo kaararka duurjoogta ah? Tusaale ahaan, si aad u ogaato haddii ay jiraan wax .mp4 ka dibna wax uun ku dul mar.

    haddii [-f * .mp4];
    ...

    1.    Ceeriin-aasaasiga ah dijo

      Haa, gebi ahaanba waa ansax ..

      Xitaa iyada oo loo marayo xuduudaha .. "* .mp4"

      1.    Ceeriin-aasaasiga ah dijo

        Tusaale ahaan,

        if [ -f $1 ];
        then
        rm -r $1
        else
        ls
        fi

        Hadaad wacdo: ./test.sh * .mp4

        Haddii ay hesho faylasha .mp4, way tirtirtaa iyaga ... ... laakiin ma liis garaynayso faylasha galkaas ...

        1.    Gregory seefayaasha dijo

          Waad ku mahadsan tahay jawaab celinta iyo talooyinka! 🙂

        2.    Joaquin dijo

          Waad seegtay f xD

          rm -rf $ 1

          Tani way ka xiiso badan tahay!

        3.    1 dijo

          Cajiib !!!, Maalin kasta oo aan jacayl badan u qaado Linux, Windows-ka waxaa loo weeciyay gees gees mugga ah oo ka mid ah Hard Drive-kayga, kaas oo qarka u saaran in la tirtiro si loogu bixiyo iftiinka Linux.

          1.    Ceeriin-aasaasiga ah dijo

            Wanaagsan! .. ..ka dib talaabada xigta .. oo banaanka u soo bax ..

            6 bilood kahor qiyaastii. Waxaan haystaa oo kaliya GNU / Linux dhamaan mashiinadeyda mana u baahni wax intaa ka badan .. ..mana ahan W $ .. ama Khamri .. ..na aad ayaan ugu faraxsanahay sidan oo kale .. 😉

            Anigana waxaan ku faafayaa hareerahayga .. maxaa yeelay qof walba wuxuu igu arkaa Arkeyga, si dhakhso leh, hufan oo faraxsan .. ..waxayna iga codsanayaan inaan rakibo Linux .. ..yeah! .. 😀

        4.    Inukaze dijo

          Waxa kale oo aad ka hubin kartaa kordhin dheeraad ah, waxaad isticmaali kartaa wax la mid ah

          #! / bin / bash
          Tusaha = $ HOYGA / Soo Degsashada

          haddii [$ Diiwaanka]; markaa
          echo "Halkan waxaa ku yaal Liiska Noocyada Faylasha:"
          echo "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
          ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
          fi

          adoo adeegsanaya {} wuxuu kuu ogolaanayaa inaad sheegto kordhinno badan oo kiiskan ah, isticmaalka "?" , waa calaamad duurjoog ah, oo kuu oggolaanaysa inaad qaadato "Dabeecad Kasta".

          Waxaan rajeynayaa inay ku caawin doonto

        5.    pedro dijo

          Waxaan kugula talinayaa amarka inuu helo [buugga] [search_pattern] –exec [amarka] {} \

      2.    Carlos dijo

        Ma shaqeyneyso, feylashaan waxaan galiyay galka:
        AB20160420.TXT
        AB20160421.TXT
        AB20160422.TXT
        AB20160423.TXT
        AB20160424.TXT
        AB20160425.TXT
        raadin.sh

        #! / bin / bash
        WADA = / tmp / TEST
        cd $ TALO
        ls -la | awk '{daabacan »« $ 9}'
        haddii [[-f AB.QORAAL]]; markaa
        echo »Gali IF haddii ay jiraan wax AB ah
        .QORAAL "
        fi
        haddii [-f AB20160422.TXT]; markaa
        echo "wax ku dar faylka AB ee khaaska ah"
        fi

        markaan dhigay [-f AB.TXT] wuxuu bixiyaa qalad
        markaan dhigay [[-f AB
        .TXT]] khalad ma bixiyo laakiin ma heli karo faylka
        kaliya waxay shaqeysaa markaan fayl gaar ah dhigo, tusaale ahaan:
        haddii [-f AB20160422.TXT]; markaa

        Anigu ma heli karo inaan la shaqeeyo kaararka duurka * ama?

        1.    pedro dijo

          #! / usr / bin / env bash
          #.codayn = utf-8.

          NATIIJOOYINKA

          EXIT_OK = 0
          EXIT_BAD = 66

          BOLD = »\ 033 [1m»
          NC = »\ 033 [0m»
          CAG = »\ 033 [31m»

          haddii [! "$ 1"];
          ka dibna
          dhawaaqa "luminta halbeegga"
          bixitaanka $ EXIT_BAD
          fi

          cd "$ 1"

          faylasha = »ls -h1 $ 1»

          faylka $ ($ faylasha); samee
          echo -e "waxaad ku samayn kartaa wax kasta $ BOLD $ faylka $ nc halkan"
          soo gabagabeeyay

          bixitaanka $ EXIT_OK

  6.   msx dijo

    @KZ, wax badan ka sii sheeg tan: "taasna waa sababta oo ah waxaan galayaa adduunka cajiibka ah ee Python"!

    1.    KZKG ^ Gaara dijo

      HAHAHAHA nah ... tartiib tartiib 🙂
      Weli waxaan ahay qof cusub oo loo yaqaan Python, aad ayaan u haystaa waqti aan ugu hibeeyo saacado iyo saacado, sidaa darteed waan gaabiyaa haa, waan gaabiyaa laakiin waxaan hubaa waxbarashadayda 😀

  7.   audoban dijo

    Aad baad u mahadsan tahay 😀 shalay uun baan ka fakarayay sida tan loo sameeyo.

  8.   reichsk dijo

    tan kalkaalisooyinka caafimaad waa wax weyn 🙂

  9.   Jazeco dijo

    1 erey… Wanaagsan!
    Muddo dheer ayaan dhammaystirayay qoraal si aan uga soo dejiyo internetka, laakiin waxaan dhib ku qabay inay soo degsato feylasha aan codsaday 1 iyo markale oo aanan awoodin inaan xaqiijiyo jiritaanka 1ro.
    Tuto aad ufiican.

  10.   zulan dijo

    Wax ku biirinta weyn, halkan ka timid Chile waa la qadarinayaa.
    Maalin kasta LINUX ayaa si farxad leh iigu yaabisa,
    Nooloow Barnaamij Bilaash ah MIERDAAAA.

  11.   david dijo

    u adeeg
    hubi haddii faylka uu ka yimid galka

  12.   Xaraash dijo

    Haddii aan doonayo inaan hubiyo jiritaanka fayl kasta oo ku yaal dariiqa «/ tmp / receivers», fuliya amar kasta, sidee buu noqon doonaa?

    Aad baan u mahadcelin doonaa

    Salaan

  13.   Juan dijo

    Gacaliye, iyo in lagu go'aamiyo IF haddii faylka si buuxda loo deggan yahay ???. Waxaan tan ku weydiisanayaa maxaa yeelay markaad buuxineyso feylka gudbinta, way ku qaadan kartaa xitaa kalabar xogta.

    Salaan iyo mahadsanid jawaabtaada.

  14.   Inukaze dijo

    Hagaag waxaan u maleynayaa inaad sidoo kale ku darto tusaale, sida "Hubi inaysan jirin" file "ama" directory "tusaale ahaan

    si loo hubiyo in AANAY jirin, tusaale ahaan isticmaal doorsoome->

    Diiwaan

    #! / bin / bash
    Tusaha = »$ HOME / Buugga Tijaabada»
    Fayl = »$ HOME / Faylka Tijaabada»

    haddii [! -d "$ Diiwaanka"]; markaa
    echo "Ma jiro $ Tusaha"
    echo "Abuuritaanka ->" $ Diiwaanka "
    mkdir "$ Directory"
    kale
    echo "Diiwaanka" $ Diiwaanka "horeyba wuu u jiray
    fi

    haddii [! -d "$ Fayl"]; markaa
    echo "Faylka $ ma jiro"
    echo "Abuuritaanka ->" $ Fayl "
    taabo "$ Faylka"
    kale
    echo "Faylka" $ Faylka "horeyba wuu u jiray
    fi

    1.    Katekyo dijo

      markaad sameyso jeegga mkdir gadaal haduu terminalku abuuri karo maxaa yeelay wuu jebin karaa kubadaha hadii ay tahay galka as root ama system hhah

  15.   Julius vinachi dijo

    Salaan KZKG ^ Gaara weydiin sidaan ku sameyn lahaa curl. Waxaan jeclaan lahaa inaan ogaado sida aan u sameeyo konsol-ka ilaa ping url si aan u arko haddii la heli karo tusaale ahaan http://portal.com/directorio/archivo1.php Meesha file1 ay ku keydin doonto booqashada IP-yada, waa kormeerida koox aan u baahanahay inaan sameeyo biinkaas nus saac kasta si aan uga warqabo IP-ga dadweynaha maadaama ay isbadalayaan waqti ka waqti mana xiriiri karo ssh.

    Salaan ka dib waad ku mahadsan tahay horay ilaahay ha kuu barakeeyo.

    1.    KZKG ^ Gaara dijo

      Waan ku faraxsanahay sida ay u socoto

      Marka hore, waa inaad sheegtaa in IP-ga (ama tusaale ahaan) uu yahay waxa ku jira faylkaas, tan waa inaad:
      1. Download faylka
      2. Eeg waxa ku jira oo ka hel IP-ga halkaas
      3. IP-gaasi waa doorsoomaha

      Tusaale ahaan:
      Halkan waxaan ku soo degsaneynaa feylka - »wget http://portal.com/directorio/archivo1.php -o file.html
      Kadibna waxaan ku wareejineynaa waxa ku jira doorsoomaha: - »: $ {IP: = 'cat file.html`}
      .. adigoo u maleynaya in waxa ku jira faylkaasi ay leeyihiin oo keliya IP-ga, haddii kale, waa inaad ku shaqeysid grep, awk ama madaxa.

      Markaad horey u haysatid IP-ga isbeddel ahaan, inta soo hartay waa waxa ugu fudud adduunka 🙂

      Haddii aad rabto, iigu soo qor iimayl (kzkggaara[at]desdelinux[dot]net) Si farxad leh ayaan ku caawin doonaa

      1.    Julius vinachi dijo

        Aad baad u mahadsantahay kzkggaara aad baad u mahadsantahay.

  16.   Natalia dijo

    Waad salaaman tahay, waxbadan kama fahmin kumbuyuutarka mana ogi haddii gelitaankani la xiriiro dhibaatada aan haysto.

    Waxaan faallo ka bixiyaa haddii aad i aqriso, in kasta oo boostada ay tahay sanad ka hor:
    Waxaa ii soo baxday in aan ku abuuray galka kumbuyuutarkeyga kumbuyuutar fiidiyowyada qaar. Hagaag, waan tirtiray fiidiyowyadaas maxaa yeelay mar dambe uma baahnin oo hadda faylkani wuxuu ii sheegayaa inuusan jirin (inkasta oo laga arki karo miiskeyga).

    - Taasi waa dhibaatada ugu horreysa ee i haysata:
    Ma tirtiri karo galka.

    - Dhibaatada labaad waxaanan u maleynayaa inay ka sii muhiimsan tahay:
    Aniga oo isku dayaya in aan tirtiro galka, waxaan dhigay galka Sawirada. Hadda markaan furo galka "ma jiro" waa faaruq oo Sawiradu ma joogaan.

    Sideen ku soo ceshan karaa sawirada? Waxaan ku siiyay ikhtiyaarka gudaha "Muuji dukumiintiyada qarsoon" feyl laakiin FOTOS-yada ma muuqdaan.

    Waxaan rajeynayaa inaad ogaan karto sida loo xaliyo.
    Waad ku mahadsan tahay.

    1.    xero dijo

      Waxaa jira laba isticmaale oo ah kuwa ugu waaweyn: xididka iyo your_user (tusaale ahaan natalia). Labadooduba waxay leeyihiin fayl shaqsiyadeed. your_user gudaha / guriga iyo xididka / / galka xididka. Adiga oo si sax ah u riixaya galka eeg cidda iska leh. Haddii ay xidid kula tahay maamulaha faylkaaga adoo isticmaalaya sudo ama gksu ama kdesu iyadoo kuxiran deegaanka aad isticmaasho tag galka xididka -> root -> Desktop waxaadna u badan tahay inaad ka heli doonto sawirada waadna tirtiri kartaa galka. Qaar ka mid ah distros marka aadan aheyn milkiilaha feylka ama buugga oo aadan haysan rukhsad marin ayaa kuu sheegaya buugga / faylka inuusan jirin. Haddii aad tahay milkiilaha oo aadan xidid ahayn, isla sidaas ku samee maamulaha faylka oo leh sudo, iwm oo aad galka galka -> / home -> personal_folder -> Desktop oo arag haddii sawiradu jiraan iyo haddii aad tirtiri karto galka.
      Haddii tani shaqeyn weydo, waxaad u baahan doontaa inaad ka aragto xulashooyinka kale barta (konsole).

  17.   Pedro Manuel Aguayo Munoz dijo

    Waad salaaman tahay, sidee tahay waxaan qabanayaa shaqo bash waxaanan jeclaan lahaa inaan ogaado sida loo xaqiijiyo haddii uu jiro tusaha laga soo galo kumbuyuutarka, tusaale ahaan

    #! / bin / bash
    marinka aqri
    # Gali ~ / Desktop
    #Kadib waxaan iskudayaa inaan dulmaro galkaas
    cd $ wadada
    # Waxaan helaa fariinta hoose: cd: ~ / Desktop: Faylka ama galka ma jiro

    Su’aashaydu waxay tahay, maxaan samayn karaa si aan uga soo galo kumbuyuutarka oo aan ugu qaato dariiqa hagaha?

  18.   Miguel dijo

    Sideen ku ogaan karaa inay jiraan koox,

  19.   cidhiidhi ah dijo

    wanaagsan dhibaato ayaan ku qabaa canaimakeyga markii aan riixo badhanka cunaguaro waxay dhaheysaa ma jiro fayl ama tusaal sida ay u sameyn laheyd xalinta dhibaatadaas inta hartayna ma fureyso cunaguaro fadlan mahadsanid.

  20.   Carlos dijo

    Sideed u sameysaa haddii ku jirto BASH haddii magaca filenku leeyahay meelo?
    Tusaale ahaan:
    Xogta Abriil.xlsx

    Si aad u weydiiso haddii faylka uu jiro

    1.    Manuel Alcocer Jimenez dijo

      Carlos, sidan oo kale:

      haddii [["$ variable" == Xogta \ bisha \ ee \ April.xlsx]]; ka dib echo 'match'; fi

      Waxaad kaloo:
      haddii [["$ variable" == 'Xogta bisha Abril.xlsx']]; ka dib echo 'match'; fi

      Fursad kale:
      [[«$ Doorsoome» = = 'Xogta Abril.xlsx']] && echo 'tartamada' || dhawaaqa 'isma waafaqsana'

      Meelaha mugdiga ah ee internetka qaarkood ayaa kugula talinaya in la isticmaalo [[]] halkii laga isticmaali lahaa [], iyo haddii aad isbarbar dhigayso tirooyinka markaa: ((variable> = 3)) && echo 'variable wuu ka weyn yahay ama u dhigmaa 3' || echo 'doorsoomaha ayaa ka yar 3'

      Sidaa darteed, lambarrada:

      haddii ((lambar! = 4)); ka dib ku celceli "$ {lambar} maahan 4"; haddii kale echo "$ {lambar} waa 4"; fi

  21.   Cesar Matheus dijo

    sida aad u sameyn karto lambar si aad u xaqiijiso haddii buugga uu leeyahay qoraal gaar ah, si aad u awoodo inaad wax ka beddesho.

    Tusaale:

    haddii (text1)

    waxba ha qaban

    kale

    beddel qoraalka1 una beddelo qoraalka2

  22.   Miguel dijo

    waa su'aal, sidee bay ahaan laheyd in la hubiyo 15kii ilbiriqsi kasta haddii feylku jiro ama uusan jirin, mahadsanid.

  23.   webiga jiinkiisa dijo

    Hello,
    tan:
    haddii [-w / guri / Komun / Diiwaan gelin / ti]; markaa
    Ogow haddii faylka la qori karo. Laakiin waxay ku saleysan tahay rukhsadaha isticmaalaha. Ma la sameyn karaa si loo ogaado haddii kooxda ama kuwa kale ay leeyihiin rukhsad?