Seiceáil an bhfuil comhad nó fillteán ann nó nach bhfuil (agus níos mó) le lúb IF

Níor chuir mé tada de Eabhrac, agus is nuair a bhím ag dul isteach i saol iontach Python go ndearna mé dearmad beag ar an gcara eile seo a chuidigh go mór liom 🙂

Seo a chuirim rud éigin do dhíograiseoirí Bash, mar a deir an teideal ... Taispeánfaidh mé duit conas a sheiceáil an bhfuil comhad nó fillteán ar an gcóras nó nach bhfuil, ach úsáid a bhaint as: if

Táimid chun comhad .sh a chruthú agus ceadanna forghníomhaithe a thabhairt dó, chuige seo, cuir an t-ordú seo a leanas i gcríochfort:

test touch.sh && chmod + x test.sh.

Is é an rud a rinne sé seo ná an comhad a chruthú (tástáil tadhaill.sh) agus ceadanna forghníomhaithe a thabhairt duit freisin (chmod + x test.sh.)

Ansin déanaimis an méid seo a leanas a scríobh ann:

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

Cad a dhéanann sé seo?

Simplí 😀

Sa chéad líne - » más rud é [-d / opt /];

Seo a fhiafraímid, an bhfuil an / opt / eolaire ann? Sea eolaire / fillteán, mar gheall ar an -d ciallaíonn eolaire nó fillteán.
Ansin ar eagla go mbeadh sé ann déanfaimid priontáil sa teirminéal «Sea, tá sé ann.»(Seo líne 2 agus 3)
Seachas sin agus / opt / NACH bhfuil ann, ansin déanfaimid «a phriontáil«Níl sé ann»(Línte 4 agus 5)
Ansin sa líne dheiridh (uimhir 6) dúnann muid an más ea agus sin é.

Alt gaolmhar:
Nasc líonra a bhunú idir an ríomhaire agus meaisíní fíorúla Virtualbox

Déan an tástáil, taispeánfaidh sé duit go bhfuil / opt / ann.

Más mian leat go dtaispeánfaidh mé duit an téacs eile (an ceann nach bhfuil ann) athraigh / roghnaigh / aon fhillteán eile nach bhfuil ann i do chóras, mar shampla: / asd /

Mar a fheiceann tú, cabhraíonn -d linn a fháil amach an bhfuil an t-eolaire ann, anois má athraímid -d go -f tá sé chun a sheiceáil go bhfuil comhaid ann (-d = eolaire, -f = comhad / comhad)

Mar shampla:

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

Seo liosta na roghanna:

-d - »Seiceáil an bhfuil eolaire áirithe ann

-f - »Seiceáil an bhfuil comhad áirithe ann

-w - »Seiceáil an bhfuil ceadanna scríofa ag comhad áirithe

-x - »Seiceáil an bhfuil ceadanna forghníomhaithe ag comhad áirithe.

Agus bhuel níl i bhfad níos mó le cur 🙂

Tá a fhios agam go mbeidh sé seo an-úsáideach agus suimiúil dóibh siúd ar mhaith leo clár a dhéanamh i Bash 😉

Maidir is


Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

42 trácht, fág mise

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.

  1.   Hugo a dúirt

    Bealach eile chun é a dhéanamh mura… ansin..else:

    test -f /etc/hosts && elcomando

    Nó freisin

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

    Etc.

    1.    KZKG ^ Gaara a dúirt

      Ar dheis 😀
      … O_O… An tusa Hugo, Hugo as Cúba? ... Ag baint úsáide as Windows8, WTF !!!

      1.    Hugo a dúirt

        Bhuel tá, táim ag cur amach ar an OS seo agus má chaithfidh mé a bheith macánta, is é an t-aon rud a bhí úsáideach dom ná an bainisteoir cóipe, ar shlí eile faighim lotnaid dó go pearsanta, go háirithe a chomhéadan hibrideach agus na feidhmchláir meitreo. Is fearr liom é ná an Vista agus an 7 (cé go bhfuil sé rud beag níos éifeachtaí ná iad seo), nár thaitin liom ach an oiread. Is é an t-aon rud atá á úsáid agam ná NFS13 agus Skyrim a imirt, ach tá an OS seo ag glacadh an oiread sin spáis go raibh orm mo dheighilt Linux [snif] a scriosadh.

        Mar sin féin, ar mhaithe le do shuaimhneas intinne, is féidir liom a rá leat gur íoslódáil mé an Arch ISO do mhí Eanáir an lá roimh inné agus tá sé beartaithe agam blaiseadh dá leagan x86-64 a thabhairt dó, a luaithe a gheobhaidh mé an repo (an mbeidh sé agat? Anois agus mar a chonaic mé go n-úsáideann sé pacáistí sínithe de réir réamhshocraithe, tugann sé níos mó muiníne dom tumadóireacht a dhéanamh.

        Agus dúirt m’athair liom freisin go gcuirfeadh sé Sony Xperia chugam, a theastaíonn uaim a úsáid chun roinnt clár do Android a fhoghlaim, ar mian leis a bhí ar feitheamh. Mar sin, socair síos, nílim imithe go dtí taobh dorcha an fhórsa, buahahahaha 😉

  2.   patz a dúirt

    tástáil fear

    1.    msx a dúirt

      Cinnte

  3.   RAW-Bunúsach a dúirt

    Wenas! ..

    D’fhéadfaimis an ceann céanna a dhéanamh .. ach má ritear an t-eolaire mar pharaiméadar.

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

    Agus tugaimid air mar:

    ./test.sh / opt /

    Beannacht ..

  4.   shábháil a dúirt

    Ní timthriall xD é IF

  5.   Espadas Gregorio a dúirt

    N-oireann sé dom mar lámhainn do script atá á dhéanamh agam. An bhfuil sé bailí cártaí fiáine a úsáid? Mar shampla, chun a fháil amach an bhfuil aon .mp4 ann ansin rith rud éigin orthu.

    más rud é [-f * .mp4];
    ...

    1.    RAW-Bunúsach a dúirt

      Sea, tá sé bailí go hiomlán.

      Fiú trí pharaiméadair .. "* .mp4"

      1.    RAW-Bunúsach a dúirt

        Eg

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

        Má ghlaonn tú air: ./test.sh * .mp4

        Má aimsíonn sé comhaid .mp4 scriosann sé iad .. ach mura liostálann sé na comhaid san eolaire sin.

        1.    Espadas Gregorio a dúirt

          Go raibh maith agat as an aiseolas agus na leideanna! 🙂

        2.    Joaquin a dúirt

          Chaill tú an f xD

          rm -rf $ 1

          Tá sé seo níos spreagúla!

        3.    b1tblu3 a dúirt

          Iontach !!!, Gach lá a thugaim níos mó i ngrá le Linux, tá Windows curtha ar ais go cúinne dorcha éigin de mo Hard Drive, atá ar tí a scriosadh chun bealach a thabhairt do sholas Linux.

          1.    RAW-Bunúsach a dúirt

            Ar fheabhas! .. .. glac an chéad chéim eile .. agus bain amach é.

            6 mhí ó shin thart. Níl ach GNU / Linux agam ar mo chuid meaisíní go léir agus níl níos mó ag teastáil uaim .. ..Níl W $ .. nó Fíon .. ..agus táim níos mó ná sásta mar sin .. 😉

            Agus táim ag ionfhabhtú mo thimpeallacht .. ós rud é go bhfeiceann gach duine mé le mo Áirse, go tapa, go héifeachtúil agus go sona sásta .. agus iarrann siad orm Linux a shuiteáil .. ..ah!! 😀

        4.    Ionúcáis a dúirt

          Is féidir leat iad a sheiceáil freisin le haghaidh síntí éagsúla, is féidir leat rud éigin mar a úsáid

          #! / bin / bash
          Eolaire = $ BAILE / Íoslódálacha

          más rud é [$ Eolaire]; ansin
          macalla "Seo Liosta de Chineálacha Comhad:"
          macalla "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
          ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
          fi

          trí {} a cheadú is féidir leat síntí iolracha a shonrú sa chás seo, trí "?" , is cárta fiáin é, a ligeann duit "Aon Charachtar" a ghlacadh.

          Tá súil agam go gcuidíonn sé leat

        5.    pedro a dúirt

          Molaim an t-ordú a fháil [eolaire] [search_pattern] –exec [command] {} \

      2.    Carlos a dúirt

        Ní oibríonn sé, cuirim na comhaid seo san eolaire:
        AB20160420.TXT
        AB20160421.TXT
        AB20160422.TXT
        AB20160423.TXT
        AB20160424.TXT
        AB20160425.TXT
        cuardaigh.sh

        #! / bin / bash
        PATH = / tmp / TÁSTÁIL
        cd $ ROUTE
        ls -la | awk '{print »« $ 9}'
        más rud é [[-f AB.TEACS]]; ansin
        macalla »Cuir isteach an IF má tá aon AB ann
        .TEACS "
        fi
        más rud é [-f AB20160422.TXT]; ansin
        macalla "ionchur do chomhad sonrach AB"
        fi

        nuair a chuir mé [-f ABTugann .TXT] earráid
        nuair a chuir mé [[-f AB
        Ní thugann .TXT]] earráid ach ní féidir leis an comhad a aimsiú
        ní oibríonn sé ach nuair a chuirim comhad ar leith, mar shampla:
        más rud é [-f AB20160422.TXT]; ansin

        Ní féidir liom é a fháil ag obair le cártaí fiáine * nó?

        1.    pedro a dúirt

          #! / usr / bin / env bash
          #.ionchódú = utf-8.

          SONRAÍ

          EXIT_OK = 0
          EXIT_BAD = 66

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

          dá [! "$ 1"];
          ansin
          macalla "tá paraiméadar ar iarraidh"
          scoir $ EXIT_BAD
          fi

          cd "$ 1"

          comhaid = »ls -h1 $ 1»

          le haghaidh comhad i $ ($ comhaid); dhéanamh
          macalla -e "is féidir leat aon rud a dhéanamh le $ BOLD $ comhad $ nc anseo"
          déanta

          scoir $ EXIT_OK

  6.   msx a dúirt

    @KZ, inis níos mó faoi seo: "agus is é sin toisc go bhfuilim ag dul isteach i saol iontach Python"!

    1.    KZKG ^ Gaara a dúirt

      HAHAHAHA nah ... beag ar bheag 🙂
      Nílim fós ach mar newbie do Python, is ar éigean go bhfuil am agam uaireanta agus uaireanta a thiomnú dó, mar sin táim mall sea, mall ach cinnte i mo chuid foghlama

  7.   cloigeann a dúirt

    Go raibh míle maith agat 😀 díreach inné bhí mé ag smaoineamh conas é seo a dhéanamh.

  8.   reichsk a dúirt

    tá sé seo le ncurses iontach 🙂

  9.   Jazeco a dúirt

    in 1 fhocal… Sármhaith!
    Ar feadh i bhfad bhí script á dhéanamh agam le híoslódáil ón Idirlíon, ach bhí an fhadhb agam go ndéanfadh sé na comhaid a d’iarr mé 1 a íoslódáil arís agus arís eile gan a bheith in ann a fhíorú go raibh 1ro ann.
    Tuto an-mhaith.

  10.   zulan a dúirt

    Is mór againn an méid a rinne tú anseo ón tSile.
    Gach lá cuireann LINUX iontas taitneamhach orm,
    Bogearraí Saor in Aisce beo fada MIERDAAAA.

  11.   david a dúirt

    fónamh do
    seiceáil an bhfuil comhad ó eolaire

  12.   Grobhair a dúirt

    Más mian liom a sheiceáil go bhfuil aon chomhad ann i gcosán «/ tmp / glacadóirí», aon ordú a fhorghníomhú, conas a bheadh ​​sé?

    Beidh mé an-bhuíoch

    Maidir is

  13.   John a dúirt

    A chara, agus a chinneadh trí IF an bhfuil an comhad daonra iomlán ???. Iarraim é seo mar nuair a bhíonn an comhad á líonadh agat le haghaidh tarchuir, féadfaidh sé é a thógáil fiú le leath na sonraí.

    Beannachtaí agus buíochas as do fhreagra.

  14.   Ionúcáis a dúirt

    Bhuel sílim gur cheart duit sampla a chur leis freisin, mar shampla "Seiceáil nach bhfuil" comhad "nó" eolaire "ann mar

    chun a sheiceáil NACH bhfuil ann, mar shampla athróg a úsáid->

    Eolaire

    #! / bin / bash
    Eolaire = »$ HOME / Eolaire Tástála»
    File = »$ BAILE / Comhad Tástála»

    dá [! -d "$ Eolaire"]; ansin
    macalla "Níl $ Eolaire ann"
    macalla "Ag cruthú ->" $ Eolaire "
    mkdir "$ Eolaire"
    eile
    macalla "Eolaire" $ Eolaire "ann cheana
    fi

    dá [! -d "$ File"]; ansin
    macalla "Níl comhad $ ann"
    macalla "Ag Cruthú ->" $ Comhad "
    teagmháil "$ File"
    eile
    macalla "File" $ File "ann cheana
    fi

    1.    Cáit a dúirt

      nuair a dhéanann tú an seiceáil mkdir níos déanaí an bhféadfadh an teirminéal é a chruthú toisc go bhféadfadh sé na liathróidí a bhriseadh más fillteán é mar fhréamh nó mar chóras hhah

  15.   Julius vinachi a dúirt

    Beannachtaí KZKG ^ Gaara ceist conas a dhéanfainn chun curl a úsáid. Ba mhaith liom a fháil amach conas a dhéanaim ón consól go dtí url a ping féachaint an bhfuil sé ar fáil mar shampla http://portal.com/directorio/archivo1.php Sa chás go mbeidh comhad1 ag stóráil na IPanna cuairte, is chun monatóireacht a dhéanamh ar fhoireann a chaithfidh mé an biorán sin a dhéanamh gach leathuair an chloig ionas go mbeidh mé ar an eolas faoin IP poiblí ós rud é go n-athraíonn sé ó am go ham agus nach féidir liom ceangal le ssh.

    Beannachtaí go raibh maith agat roimh ré Dia dhaoibh.

    1.    KZKG ^ Gaara a dúirt

      Dia duit conas atá sé ag dul

      Ar dtús, caithfidh tú a rá gurb é an athróg IP (mar shampla) ábhar an chomhaid sin, chun é seo a dhéanamh:
      1. Íoslódáil an comhad
      2. Féach a ábhar agus faigh an IP as sin
      3. Is é an IP sin an athróg

      Mar shampla:
      Seo a íoslódáil muid an comhad - »wget http://portal.com/directorio/archivo1.php -o comhad.html
      Ansin sannann muid a ábhar d’athróg: - »: $ {IP: =` cat file.html`}
      .. ag glacadh leis nach bhfuil ach an IP ag ábhar an chomhaid sin, mura bhfuil, bheadh ​​ort oibriú le grep, awk nó ceann.

      Nuair atá an IP agat cheana mar athróg, is é an chuid eile an rud is simplí ar domhan 🙂

      Más mian leat scríobh chugam chuig an ríomhphost (kzkggaara [at] desdelinux [dot] net) a chabhróidh go sásta leat

      1.    Julius vinachi a dúirt

        Go raibh míle maith agat kzkggaara an-bhuíoch.

  16.   Natalia a dúirt

    Dia duit, ní thuigim mórán faoi ríomhaireacht agus níl a fhios agam an bhfuil baint ag an bpost seo leis an bhfadhb atá agam.

    Déanaim trácht ar eagla go léifeá mé, cé gur ó bhliain ó shin a tháinig an post:
    Is cosúil gur chruthaigh mé fillteán ar mo dheasc chun roinnt físeáin a stóráil. Bhuel, scrios mé na físeáin sin mar ní raibh siad de dhíth orm a thuilleadh agus anois deir an fillteán seo liom nach bhfuil siad ann (cé go bhfuil siad le feiceáil ar mo dheasc).

    - Is í sin an chéad fhadhb atá agam:
    Ní féidir liom an fillteán a scriosadh.

    - An dara fadhb agus níos tábhachtaí dar liom:
    In iarracht an fillteán a scriosadh, chuir mé fillteán PHOTOS. Anois nuair a osclaím an fillteán nach bhfuil "ann" tá sé folamh agus níl na PHOTOS ann.

    Conas is féidir liom na grianghraif a aisghabháil? Thug mé an rogha taobh istigh den fhillteán "Taispeáin cáipéisí i bhfolach" ach níl an fillteán PHOTOS le feiceáil.

    Tá súil agam go mbeidh a fhios agat conas a réitítear é.
    Go raibh maith agat.

    1.    valdo a dúirt

      Is iad dhá úsáideoir na príomhúsáideoirí: root agus your_user (natalia mar shampla). Tá fillteáin phearsanta acu araon. your_user i / baile agus fréamh i / (eolaire fréimhe). Trí chliceáil ar dheis ar an bhfillteán féach cé leis é. Má tá sé fréamhaithe le do bhainisteoir comhad ag baint úsáide as sudo nó gksu nó kdesu ag brath ar an timpeallacht a úsáideann tú téigh chuig an eolaire fréimhe -> root -> Deisce agus is dócha go bhfaighidh tú na grianghraif agus is féidir leat an fillteán a scriosadh. Roinnt distros nuair nach tusa úinéir an chomhaid nó an eolaire agus mura bhfuil ceadanna rochtana agat, deirtear leat nach bhfuil eolaire / comhad ann. Más tusa úinéir agus mura bhfuil tú fréimhe, déan an rud céanna leis an mbainisteoir comhad le sudo, srl agus téigh chuig an eolaire fréimhe -> / home -> personal_folder -> Deisce agus féach an bhfuil na grianghraif ann agus an féidir leat an fillteán a scriosadh.
      Mura n-oibríonn sé seo, beidh ort roghanna eile a fheiceáil ón teirminéal (consól).

  17.   Pedro Manuel Aguayo Munoz a dúirt

    Dia duit, conas atá tú? Tá post á dhéanamh agam i mbáisín agus ba mhaith liom a fháil amach conas a fhíorú an bhfuil eolaire iontráilte ón méarchlár, mar shampla

    #! / bin / bash
    bealach léite
    #Enter ~ / Deisce
    #An iarracht a dhéanamh an eolaire sin a nascleanúint
    cd $ cosán
    # Faighim an teachtaireacht bash seo a leanas: cd: ~ / Desktop: Níl an comhad nó an eolaire ann

    Is í mo cheist, cad is féidir liom a dhéanamh ionas go gcuirfidh mé isteach é ón méarchlár agus go nglacfaidh mé leis mar chonair eolaire?

  18.   Miguel a dúirt

    Agus conas is féidir a fhios a bheith agam an bhfuil grúpa ann,

  19.   heidhy a dúirt

    maith Tá fadhb agam i mo canaima nuair a bhrúim an cnaipe cunaguaro deir sé nach bhfuil aon chomhad ná eolaire ann mar a dhéanfadh sé chun an fhadhb sin a réiteach agus ní osclaíonn an chuid eile cunaguaro go raibh maith agat.

  20.   Carlos a dúirt

    Conas a dhéanann tú an más i BASH má tá spásanna ag ainm an chomhaid?
    Mar shampla:
    Sonraí Aibreán.xlsx

    Fiafraigh an bhfuil an comhad ann

    1.    Manuel Alcocer Jimenez a dúirt

      Carlos, mar seo:

      más rud é [["$ athróg" == Sonraí \ mí \ de \ April.xlsx]]; ansin macalla 'match ’; fi

      Is féidir leat freisin:
      más rud é [["$ athróg" == 'Sonraí do mhí Aibreáin.xlsx']]; ansin macalla 'match ’; fi

      Rogha eile:
      [["$ Athróg" == 'Sonraí le haghaidh April.xlsx']] && macalla 'lasáin' || macalla 'ní mheaitseálann'

      I roinnt réimsí dorcha ar an idirlíon molann siad [[]] a úsáid in ionad [], agus má tá tú chun comparáid a dhéanamh idir uimhreacha ansin: ((athróg> = 3)) && macalla 'tá an athróg níos mó ná nó cothrom le 3' | | macalla 'tá athróg níos lú ná 3'

      Dá bhrí sin, maidir le huimhreacha:

      más rud é ((uimhir! = 4)); ansin macalla "níl $ {number} 4"; macalla eile "is é $ {number} 4"; fi

  21.   Cesar Matheus a dúirt

    conas is féidir leat cód a dhéanamh chun a bhailíochtú má tá téacs faoi leith ag an eolaire, le go mbeidh tú in ann é a chur in eagar.

    sampla:

    más rud é (téacs1)

    ná déan Faic

    eile

    athraigh téacs1 go téacs2

  22.   Miguel a dúirt

    ceist, conas a bheadh ​​sé gach 15 soicind a sheiceáil an bhfuil an comhad ann nó nach bhfuil, go raibh maith agat.

  23.   Bruach na habhann a dúirt

    Dia duit,
    seo:
    más rud é [-w / home / Komun / Logs / ti]; ansin
    Faigh amach an bhfuil an comhad inscríofa. Ach tá sé bunaithe ar cheadanna úsáideora. An féidir é a dhéanamh chun a fháil amach an bhfuil ceadanna ag an ngrúpa nó ag na daoine eile?