Tcheke si yon dosye oswa katab egziste oswa ou pa (ak plis ankò) ak SI bouk

Mwen pa te mete anyen nan Bach, e se pandan ke mwen ap antre nan mond lan bèl bagay nan Piton mwen te bliye yon ti kras sou lòt zanmi sa a ki te ede m 'anpil 🙂

Isit la mwen mete yon bagay pou amater Bash, jan tit la di ... Mwen pral montre w kouman yo tcheke si wi ou non gen yon dosye oswa katab nan sistèm lan, jis lè l sèvi avèk: if

Nou pral kreye yon dosye .sh epi ba li otorizasyon ekzekisyon, pou sa, jis mete lòd sa a nan yon tèminal:

manyen test.sh && chmod + x test.sh

Sa a li te fè se kreye dosye a (manyen test.sh) epi tou ba ou otorizasyon ekzekisyon (chmod + x test.sh)

Lè sa a, kite a ekri bagay sa yo nan li:

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

Kisa sa fè?

Senp 😀

Nan premye liy lan - » si [-d / opt /];

Isit la nou mande, èske / opt / anyè a egziste? Wi anyè / katab, paske la -d vle di anyè oswa katab.
Lè sa a, nan ka li egziste nou pral enprime nan tèminal la «Wi, li egziste.»(Sa a se liy 2 ak 3)
Sinon ak / opt / PA egziste, lè sa a nou pral enprime «Non li pa egziste»(Liy 4 ak 5)
Lè sa a, nan liy ki sot pase a (nimewo 6) nou fèmen si a ak sa a li.

Atik ki gen rapò ak:
Etabli koneksyon rezo ant PC a ak Virtualbox machin vityèl

Fè tès la, li pral montre w ke / opt / egziste.

Si ou vle m 'montre ou lòt tèks la (yon sèl la ki pa egziste) chanje / chwazi / pou nenpòt ki lòt katab ki pa egziste nan sistèm ou a, pou egzanp: / asd /

Kòm ou ka wè, -d ede nou konnen si anyè a egziste, byen kounye a si nou chanje -d an -f li se yo tcheke egzistans la nan dosye (-d = anyè, -f = dosye / dosye)

Pou egzanp:

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

Isit la se lis la nan opsyon:

-d - »Tcheke si yon sèten anyè egziste

-f - »Tcheke si yon sèten dosye egziste

-w - »Tcheke si yon dosye sèten gen otorizasyon ekri

-x - »Tcheke si yon dosye sèten gen otorizasyon ekzekisyon.

E byen pa gen anpil plis pou ajoute 🙂

Mwen konnen sa ap trè itil e enteresan pou moun ki renmen pwogram nan Bash 😉

Concerne


Kontni an nan atik la respekte prensip nou yo nan etik editoryal. Pou rapòte yon erè klike sou isit la.

42 kòmantè, kite ou

Kite kòmantè ou

Adrès imèl ou pa pral dwe pibliye. Jaden obligatwa yo make ak *

*

*

  1. Responsab pou done yo: Miguel Ángel Gatón
  2. Objektif done yo: Kontwòl SPAM, jesyon kòmantè.
  3. Lejitimasyon: konsantman ou
  4. Kominikasyon nan done yo: done yo pa pral kominike bay twazyèm pati eksepte pa obligasyon legal.
  5. Done depo: baz done anime pa rezo Occentus (Inyon Ewopeyen)
  6. Dwa: Nenpòt ki lè ou ka limite, refè ak efase enfòmasyon ou yo.

  1.   Hugo diro

    Yon lòt fason fè li san yo pa si ... Lè sa a, .. ..

    test -f /etc/hosts && elcomando

    Oswa tou

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

    Elatriye

    1.    KZKG ^ Gaara diro

      Dwa 😀
      … O_O… Èske w se Hugo, Hugo ki soti Kiba? … Sèvi ak Windows8, WTF !!!

      1.    Hugo diro

        Oke repons lan se wi, mwen ap vin abitye avèk sa a eksplwatasyon ak si mwen gen yo dwe Frank, bagay la sèlman ke mwen te jwenn itil se manadjè a kopi, otreman mwen pèsonèlman jwenn li yon ensèk nuizib, espesyalman koòdone ibrid li yo ak aplikasyon yo métro. Mwen renmen li mwens pase Vista a ak 7 la (kwake yon ti jan pi efikas pase sa yo), ki mwen pa t 'renmen swa. Bagay la sèlman mwen ap itilize li pou ap jwe NFS13 ak Skyrim, men eksplwatasyon sa a ap pran anpil espas ke mwen te efase patisyon Linux mwen an [snif].

        Sepandan, pou lapè ou nan tèt ou, mwen pral di ou ke jou a anvan yè mwen telechaje Arch ISO a pou janvye e mwen fè plan ba li yon ti tès nan vèsyon x86-64 li yo, le pli vit ke mwen jwenn repo a (ou pral genyen li?). Kounye a ke jan mwen te wè li itilize pakè siyen pa default, li ban mwen plis konfyans nan plonje.

        Ak papa m 'te di m' tou ke li ta voye m 'yon Sony Xperia, ki mwen vle pran avantaj de yo aprann kèk pwogram pou android, ki te yon pandye vle. Se konsa, kalme, mwen pa gen ankò ale nan bò a fè nwa nan fòs la, buahahahaha 😉

  2.   patz diro

    tès moun

    1.    msx diro

      Asire w.

  3.   RAW-Debaz diro

    Wenas! ..

    Nou te kapab fè yon sèl la menm .. ..men se anyè a pase kòm yon paramèt ..

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

    Epi nou rele li kòm:

    ./test.sh / opt /

    Bonjou ..

  4.   savo diro

    SI se pa yon sik xD

  5.   Sou entènèt jwèt Gregory Swords diro

    Li adapte m 'tankou yon gan pou yon script mwen ap fè. Èske li valab pou itilize karaktè? Pou egzanp, konnen si gen nenpòt ki .mp4 Lè sa a, kouri yon bagay sou yo.

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

    1.    RAW-Debaz diro

      Wi, li totalman valab ..

      Menm nan paramèt .. "* .mp4"

      1.    RAW-Debaz diro

        Kòm egzanp

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

        Si ou rele li: ./test.sh * .mp4

        Si li jwenn .mp4 dosye li efase yo .. ..men li pa lis dosye yo nan anyè sa ..

        1.    Sou entènèt jwèt Gregory Swords diro

          Mèsi pou fidbak la ak konsèy! 🙂

        2.    Joaquin diro

          Ou rate f xD la

          rm -rf $ 1

          Sa a se pi plis enteresan!

        3.    b1tblu3 diro

          Bèl bagay !!!, Chak jou mwen tonbe plis renmen Linux, Windows te rlege nan kèk kwen nwa nan Hard Drive mwen an, ki se sou yo dwe efase yo bay fason limyè Linux la.

          1.    RAW-Debaz diro

            Excellent! .. .. Lè sa a, pran pwochen etap la .. epi pou yo jwenn li soti ..

            6 mwa de sa approx. Mwen gen sèlman GNU / Linux sou tout machin mwen e mwen pa bezwen plis .. ..pa W $ .. ni Diven .. ..e mwen plis ke kontan konsa .. 😉

            Apre sa, mwen enfekte anviwònman mwen .. depi tout moun wè m 'ak Arch mwen an, vit, efikas ak kè kontan .. ..e yo mande m' enstale Linux .. ..yeah! .. 😀

        4.    Inukaze diro

          Ou kapab tou tcheke yo pou ekstansyon divès kalite, ou ka itilize yon bagay tankou

          #! / bin / bash
          Anyè = $ HOME / Downloads

          si [$ Anyè]; lè sa a
          eko "Isit la se yon lis kalite dosye:"
          eko "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
          ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
          fi

          lè l sèvi avèk {} pèmèt ou presize ekstansyon miltip nan ka sa a, itilize nan "?" , se yon komod, ki pèmèt ou pran "Nenpòt karaktè".

          Mwen espere ke li ede ou

        5.    Pedro diro

          Mwen rekòmande lòd la jwenn [anyè] [search_pattern] –exec [lòd] {} \

      2.    Carlos diro

        Li pa travay, mwen mete dosye sa yo nan anyè a:
        AB20160420.TXT
        AB20160421.TXT
        AB20160422.TXT
        AB20160423.TXT
        AB20160424.TXT
        AB20160425.TXT
        rechèch.sh

        #! / bin / bash
        CHEMEN = / tmp / TEST
        cd $ ROUTE
        ls -la | awk '{enprime »« $ 9}'
        si [[-f AB.TXT]]; lè sa a
        eko »Mete IF la si gen nenpòt AB
        .TXT »
        fi
        si [-f AB20160422.TXT]; lè sa a
        eko "opinyon pou yon dosye AB espesifik"
        fi

        lè mwen mete [-f AB.TXT] bay erè
        lè mwen mete [[-f AB
        .TXT]] pa bay yon erè men li pa ka jwenn dosye a
        li sèlman travay lè mwen mete yon dosye espesifik, pou egzanp:
        si [-f AB20160422.TXT]; lè sa a

        Mwen pa ka jwenn li nan travay avèk karaktè * oswa?

        1.    Pedro diro

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

          Kontan

          EXIT_OK = 0
          EXIT_BAD = 66

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

          si [! "$ 1"];
          lè sa a,
          eko "yon paramèt ki manke"
          sòti $ EXIT_BAD
          fi

          CD "$ 1"

          dosye = »ls -h1 $ 1»

          pou dosye nan $ ($ dosye); fè
          eko -e "ou ka fè anyen ak $ BOLD $ dosye $ nc isit la"

          sòti $ EXIT_OK

  6.   msx diro

    @ KZ, di plis sou sa: «e se ke mwen antre nan mond lan bèl bagay nan Piton»!

    1.    KZKG ^ Gaara diro

      HAHAHAHA nah ... piti piti 🙂
      Mwen toujou jis yon Senior Member nan Python, mwen diman gen tan dedye èdtan ak èdtan nan li, Se konsa, mwen dousman wi, dousman, men asire w nan aprantisaj mwen an

  7.   odoban diro

    Mèsi anpil 😀 jis yè mwen te panse ki jan fè sa.

  8.   ReichSk diro

    sa a ak ncurses se gwo 🙂

  9.   jazeco diro

    nan 1 mo ... ekselan!
    Pou yon tan long mwen te pèfeksyone yon script download soti nan entènèt la, men mwen te gen pwoblèm nan ke li ta telechaje dosye yo ke mwen mande 1 e ankò san yo pa kapab verifye egzistans lan 1ro.
    Trè bon tuto.

  10.   zulan diro

    Se kontribisyon fòmidab, isit la soti nan Chili apresye.
    Chak jou LINUX etone plezant mwen,
    Viv lojisyèl gratis MIERDAAAA.

  11.   David diro

    sèvi pou
    tcheke si yon dosye ki soti nan yon anyè

  12.   Grovher diro

    Si mwen vle tcheke egzistans lan nan nenpòt ki dosye nan yon chemen «/ tmp / récepteurs», egzekite nenpòt ki lòd, ki jan li ta dwe ye?

    Mwen pral trè rekonesan

    Concerne

  13.   Jan diro

    Chè, ak detèmine pa SI si dosye a se konplètman peple ???. Mwen mande sa paske lè w ap ranpli dosye a pou yon transmisyon, li ka pran li menm avèk mwatye done yo.

    Bonjou ak mèsi pou repons ou.

  14.   Inukaze diro

    Oke mwen panse ke ou ta dwe ajoute yon egzanp tou, tankou "Tcheke ke pa gen okenn" yon "dosye" oswa "anyè" tankou

    yo tcheke ke li PA egziste, pou egzanp sèvi ak yon varyab->

    Yon Anyè

    #! / bin / bash
    Anyè = »$ HOME / Anyè Egzamen»
    Dosye = »$ HOME / Dosye Tès»

    si [! -d "$ Anyè"]; lè sa a
    eko "Pa gen okenn Anyè $"
    eko "Kreye ->" $ Anyè "
    mkdir "$ Anyè"
    Lòt Bagay
    eko "Anyè" $ Anyè "deja egziste
    fi

    si [! -d "$ File"]; lè sa a
    eko "File $ pa egziste"
    eko "Kreye ->" $ File "
    manyen "$ File"
    Lòt Bagay
    eko "File" $ File "deja egziste
    fi

    1.    Katekyo diro

      lè ou fè mkdir la tcheke pita si tèminal la te kapab kreye li paske li ka kraze voye boul yo si li se yon katab kòm rasin oswa sistèm hhah

  15.   Julius vinachi diro

    Bonjou KZKG ^ Gaara yon rechèch ki jan mwen ta fè yo sèvi ak pli. Mwen ta renmen konnen ki jan mwen fè soti nan konsole a ping yon url yo wè si li disponib pou egzanp http://portal.com/directorio/archivo1.php kote file1 yo pral estoke IP la nan vizit se pou kontwole yon ekip ke mwen bezwen fè ki PIN chak demi èdtan pou ke mwen okouran de IP piblik la depi li chanje de tan zan tan epi mwen pa ka konekte pa ssh .

    Bonjou mèsi davans Bondye beniw.

    1.    KZKG ^ Gaara diro

      Alo ki jan li pral

      Premyèman, ou dwe di ke varyab la IP (pou egzanp) se kontni an nan ki dosye, pou sa ou dwe:
      1. telechaje dosye a
      2. View kontni li yo epi pou yo jwenn IP a soti nan la
      3. Sa IP se varyab la

      Pou egzanp:
      Isit la nou telechaje dosye a - »wget http://portal.com/directorio/archivo1.php -o file.html
      Lè sa a, nou bay yon varyab kontni li yo: - »: $ {IP: =` chat file.html`}
      .. an konsideran ke kontni an nan ki dosye sèlman gen IP a, si se pa sa, ou ta dwe travay avèk grep, awk oswa tèt.

      Yon fwa ou deja gen IP a kòm yon varyab, rès la se bagay ki pi senp nan mond lan 🙂

      Si ou vle ekri m 'nan imèl la (kzkggaara [nan] desdelinux [dot] net) ke mwen pral kè kontan ede ou

      1.    Julius vinachi diro

        Mèsi anpil kzkggaara trè rekonesan.

  16.   Natalia diro

    Bonjou, mwen pa konprann anpil bagay sou enfòmatik e mwen pa konnen si antre sa a gen rapò ak pwoblèm mwen genyen an.

    Mwen kòmante nan ka ou li m ', menm si pòs la se soti nan yon ane de sa:
    Li sanble ke mwen te kreye yon katab sou Desktop mwen nan magazen kèk videyo. Oke, mwen efase videyo sa yo paske mwen pa bezwen yo ankò e kounye a, katab sa a di m 'ke li pa egziste (menm si li vizib sou Desktop mwen).

    - Sa se premye pwoblèm mwen genyen:
    Mwen pa ka efase katab la.

    - Dezyèm pwoblèm e mwen panse ke pi enpòtan:
    Nan yon tantativ efase katab la, mwen mete yon katab FOTO. Koulye a, lè mwen louvri katab la ki "pa egziste" li vid ak foto yo pa la.

    Kouman mwen ka refè foto yo? Mwen te bay opsyon a andedan "Montre dokiman yo kache" katab men dosye a FOTO pa parèt.

    Mwen espere ke ou ka konnen ki jan li rezoud.
    Mèsi poutèt ou.

    1.    valdo diro

      Gen de itilizatè ki se yo menm prensipal la: rasin ak your_user (natalia pou egzanp). Yo tou de gen dosye pèsonèl. your_user nan / lakay ak rasin nan / (anyè rasin). Pa dwa klike sou katab la wè ki moun li fè pati. Si li se rasin ak manadjè dosye ou lè l sèvi avèk sudo oswa gksu oswa kdesu depann sou anviwònman an ou itilize ale nan anyè a rasin -> rasin -> Desktop epi w ap pwobableman jwenn foto yo, epi ou ka efase katab la. Gen kèk distribisyon lè ou pa mèt kay la nan dosye a oswa anyè epi yo pa gen otorizasyon aksè di ou anyè / dosye pa egziste. Si ou se mèt kay la epi ou pa rasin, fè menm bagay la ak manadjè a dosye ak sudo, elatriye epi ale nan anyè a rasin -> / lakay -> pèsonèl_folder -> Desktop ak wè si foto yo la epi si ou ka efase katab la.
      Si sa a pa travay, ou pral gen yo wè lòt opsyon soti nan tèminal la (konsole).

  17.   Pedro Manuel Aguayo Muñoz diro

    Bonjou, ki jan ou ye? M ap fè yon travay nan bash e mwen ta renmen konnen ki jan yo verifye si gen yon anyè antre nan klavye a, pou egzanp

    #! / bin / bash
    li wout
    #Antre ~ / Desktop
    #Lè sa a, mwen eseye navige ke anyè
    CD $ chemen
    # Mwen jwenn mesaj sa a bach: CD: ~ / Desktop: Dosye a oswa anyè pa egziste

    Kesyon mwen an se, kisa mwen ka fè pou mwen antre nan li nan klavye a epi pran li kòm yon chemen anyè?

  18.   Miguel diro

    Ak ki jan mwen ka konnen si gen yon gwoup,

  19.   heidi diro

    bon mwen gen yon pwoblèm nan canaima mwen lè mwen peze bouton cunaguaro a li di ke pa gen okenn dosye oswa anyè menm jan li ta fè pou rezoud pwoblèm sa ak rès la pa louvri cunaguaro tanpri mèsi

  20.   Carlos diro

    Ki jan ou fè si nan BASH si non dosye a gen espas?
    Pou egzanp:
    Avril data.xlsx

    Pou mande si dosye a egziste

    1.    Manuel Alcocer Jimenez diro

      Carlos, tankou sa a:

      si [["$ varyab" == Done \ mwa \ nan \ Avril.xlsx]]; Lè sa a, eko 'matche ak'; fi

      Ou kapab tou:
      si [["$ varyab" == 'Done pou mwa avril.xlsx']]; Lè sa a, eko 'matche ak'; fi

      Yon lòt opsyon:
      [[«$ Varyab» == 'Done pou avril.xlsx']] && 'match' || eko 'pa matche ak'

      Nan kèk zòn nwa sou entènèt la yo rekòmande pou itilize [[]] olye pou yo [], epi si ou pral konpare nimewo lè sa a: ((varyab> = 3)) && varyab echo 'pi gran pase oswa egal a 3' | | varyab 'eko se mwens pase 3'

      Se poutèt sa, pou nimewo:

      si ((nimewo! = 4)); Lè sa a, eko "$ {number} se pa 4"; lòt bagay eko "$ {number} se 4"; fi

  21.   Cesar Mateus diro

    ki jan ou ka fè yon kòd valide si anyè a gen yon tèks espesifik, pou kapab edite li.

    egzanp:

    si (tèks1)

    pa fè anyen

    Lòt Bagay

    chanje text1 an text2

  22.   Miguel diro

    yon kesyon, ki jan li ta dwe tcheke chak 15 segonn si dosye a egziste oswa ou pa, di ou mèsi.

  23.   rivyè diro

    Hello,
    sa a:
    si [-w / home / Komun / Logs / ti]; lè sa a
    Chache konnen si dosye a ekri. Men, li baze sou otorizasyon itilizatè yo. Èske li ka fè pou chèche konnen si gwoup la oswa lòt moun yo gen otorizasyon?