Priksa manawa ana file utawa folder utawa ora (lan liya-liyane) nganggo IF loop

Aku wis ora nyelehake apa-apa Bash, lan nalika mlebu ing donya Python sing apik, aku rada lali karo kanca liyane iki sing nulungi aku 🙂

Ing kene aku menehi sesuatu kanggo para penggemar Bash, kaya judhule ... Aku bakal nuduhake sampeyan cara mriksa manawa ana file utawa folder ing sistem kasebut, mung nggunakake: if

Kita bakal nggawe file .sh lan menehi ijin eksekusi, amarga iki cukup kanggo nyelehake perintah ing ngisor iki ing terminal:

test tutul.sh && chmod + x test.sh

Iki sing ditindakake yaiku nggawe file (tes tutul.sh) lan uga menehi idin eksekusi (chmod + x test.sh)

Banjur ayo nulis ing ngisor iki:

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

Apa iki?

Sederhana 😀

Ing baris pisanan - » yen [-d / opt /];

Ing kene kita takon, apa direktori / opt / ana? Ya direktori / folder, amarga -d tegese direktori utawa folder.
Yen wis ana, kita bakal nyithak ing terminal «Ya pancen ana.»(Iki baris 2 lan 3)
Yen ora lan / milih / ora ana, mula kita bakal nyithak «Ora, ora ana»(Baris 4 lan 5)
Banjur ing baris pungkasan (nomer 6) kita nutup yen lan wis ana.

Artikel sing gegandhengan:
Gawe sambungan jaringan antarane PC lan mesin virtual Virtualbox

Coba tes, bakal nuduhake manawa / opt / wis ana.

Yen sampeyan pengin aku nuduhake teks liyane (sing ora ana) ganti / pilih / kanggo folder liyane sing ora ana ing sistem sampeyan, kayata: / asd /

Kaya sing sampeyan ngerteni, -d mbantu kita ngerti manawa ana direktori, saiki yen kita ganti -d dadi -f yaiku mriksa eksistensi file (-d = direktori, -f = file / file)

Contone:

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

Iki dhaptar pilihan:

-d - »Priksa manawa ana direktori tartamtu

-f - »Priksa manawa ana file tartamtu

-w - »Priksa manawa file tartamtu duwe idin nulis

-x - »Priksa manawa file tartamtu duwe ijin eksekusi.

Lan uga ora bakal bisa ditambahake 🙂

Aku ngerti iki bakal migunani banget lan menarik kanggo sampeyan sing seneng program ing Bash 😉

regards


42 komentar, tinggalake sampeyan

Ninggalake komentar sampeyan

Panjenengan alamat email ora bisa diterbitake. Perangkat kothak ditandhani karo *

*

*

  1. Tanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Kontrol SPAM, manajemen komentar.
  3. Legitimasi: idin sampeyan
  4. Komunikasi data: Data kasebut ora bakal dikomunikasikake karo pihak katelu kajaba kanthi kewajiban ukum.
  5. Panyimpenan data: Database sing dianakake dening Occentus Networks (EU)
  6. Hak: Kapan wae sampeyan bisa matesi, mulihake lan mbusak informasi sampeyan.

  1.   Hugo ngandika

    Cara liya kanggo nindakake tanpa yen… banjur..deleng:

    test -f /etc/hosts && elcomando

    Utawa uga

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

    Etc.

    1.    KZKG ^ Gaara ngandika

      Kanan 😀
      … O_O… Apa sampeyan Hugo, Hugo saka Kuba? … Nggunakake Windows8, WTF !!!

      1.    Hugo ngandika

        Ya, aku wis kenal karo OS iki lan yen kudu terus terang, siji-sijine sing aku migunani yaiku manajer salinan, yen ora, aku dhewe ngrasakake rasa sakit, utamane antarmuka hibrida lan aplikasi metro. Aku seneng kurang saka Vista lan 7 (sanajan rada luwih efisien tinimbang iki), sing uga ora disenengi. Siji-sijine sing digunakake kanggo main yaiku NFS13 lan Skyrim, nanging OS iki mbutuhake papan sing akeh banget mula aku kudu mbusak partisi Linux [snif].

        Nanging, kanggo katenangan atimu, aku bakal ngandhani yen dina wingi aku ndownload Arch ISO kanggo wulan Januari lan aku arep menehi tes sethithik ing versi x86-64, sanalika aku entuk repo (apa sampeyan duwe?). Saiki kaya sing dakdeleng nggunakake paket sing wis ditandatangani kanthi gawan, aku bakal luwih percaya diri kanggo nyilem.

        Lan bapakku uga ngandhani yen dheweke bakal ngirim Sony Xperia, sing pengin aku gunakake kanggo sinau sawetara program kanggo Android, sing dadi kekarepan sing isih ana. Dadi tenang wae, aku durung budhal menyang sisih peteng kekuwatan, buahahahaha 😉

  2.   patz ngandika

    tes wong

    1.    msx ngandika

      Manawa

  3.   RAW-Dhasar ngandika

    Wenas! ..

    Kita bisa nggawe sing padha .. ..nanging direktori kasebut diwenehake minangka parameter ..

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

    Lan kita ngarani:

    ./test.sh / opt /

    Salam ..

  4.   nyimpen ngandika

    Yen dudu siklus xD

  5.   Gregory Swords ngandika

    Cocog karo aku kaya sarung tangan kanggo skrip sing daklakoni. Apa bener nggunakake wildcards? Contone, kanggo ngerteni manawa ana .mp4 banjur jalanake.

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

    1.    RAW-Dhasar ngandika

      Ya bener banget ..

      Malah liwat paramèter .. "* .mp4"

      1.    RAW-Dhasar ngandika

        Contone,

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

        Yen sampeyan nelpon: ./test.sh * .mp4

        Yen nemokake file .mp4, dheweke bakal dipateni .. .. nanging ora dhaptar file kasebut ing direktori kasebut ..

        1.    Gregory Swords ngandika

          Matur suwun saran lan tips! 🙂

        2.    Joaquin ngandika

          Sampeyan ora kejawab f xD

          rm -rf $ 1

          Iki luwih nyenengake!

        3.    b1tblu3 ngandika

          Apik banget !!!, Saben dina aku tresna banget karo Linux, Windows wis mudhun menyang sawetara peteng ing Hard Driveku, sing bakal dipotong kanggo menehi cahya ing Linux.

          1.    RAW-Dhasar ngandika

            Apik banget! .. .. banjur tindakake langkah sabanjure .. lan ayo metu ..

            6 wulan kepungkur udakara Aku mung duwe GNU / Linux ing kabeh mesin lan ora butuh maneh .. ..boten W $ .. utawa Anggur .. ..lan aku seneng banget kaya ngono .. 😉

            Lan aku nginfeksi lingkungane .. amarga kabeh padha ndeleng aku karo Archku, cepet, efisien lan seneng .. ..lan dheweke njaluk nginstal Linux ..ye!! ..

        4.    Inukaze ngandika

          Sampeyan uga bisa mriksa macem-macem ekstensi, sampeyan bisa nggunakake kaya

          #! / bin / bash
          Direktori = $ HOME / Unduhan

          yen [$ Directory]; banjur
          kumandhang "Iki Dhaptar Jinis File:"
          kumandhang "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
          ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
          fi

          nggunakake {} ngidini sampeyan nemtokake macem-macem ekstensi ing kasus iki, nggunakake "?" , yaiku kertu liar, sing ngidini sampeyan njupuk "Karakter Apa wae".

          Muga-muga bisa mbantu sampeyan

        5.    Pedro ngandika

          Aku nyaranake perintah golek [direktori] [search_pattern] –exec [printah] {} \

      2.    Carlos ngandika

        Ora bisa digunakake, aku nyelehake file kasebut ing direktori:
        AB20160420.TXT
        AB20160421.TXT
        AB20160422.TXT
        AB20160423.TXT
        AB20160424.TXT
        AB20160425.TXT
        golek.sh

        #! / bin / bash
        PATH = / tmp / TEST
        cd $ ROUT
        ls -la | awk '{cetak »« $ 9}'
        yen [[-f AB.TXT]]; banjur
        kumandhang »Ketik IF yen ana AB
        .TXT »
        fi
        yen [-f AB20160422.TXT]; banjur
        gema "input kanggo file AB tartamtu"
        fi

        nalika aku sijine [-f AB.TXT] menehi kesalahan
        nalika dak pasang [[-f AB
        .TXT]] ora menehi kesalahan nanging ora bisa nemokake file kasebut
        mung bisa digunakake nalika aku sijine file tartamtu, kayata:
        yen [-f AB20160422.TXT]; banjur

        Aku ora bisa nggarap kertu liar * utawa?

        1.    Pedro ngandika

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

          KONSTANSI

          EXIT_OK = 0
          EXIT_BAD = 66

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

          yen [! "$ 1"];
          banjur
          kumandhang "parameter ora ana"
          metu $ EXIT_BAD
          fi

          cd "$ 1"

          file = »ls -h1 $ 1»

          kanggo file ing $ ($ file); nindakake
          gema -e "sampeyan bisa nindakake apa wae kanthi $ BOLD $ file $ nc ing kene"
          rampung

          metu $ EXIT_OK

  6.   msx ngandika

    @KZ, critakake luwih lengkap babagan iki: «lan aku bakal mlebu jagad Python sing apik»!

    1.    KZKG ^ Gaara ngandika

      HAHAHAHA nah ... sithik-sithik 🙂
      Aku isih mung wong anyar kanggo Python, aku ora duwe wektu kanggo ngaturake pirang-pirang jam, mula aku alon-alon, alon-alon nanging mesthi sinau

  7.   audoban ngandika

    Matur suwun banget 😀 mung wingi aku mikir kepiye cara iki.

  8.   reichsk ngandika

    iki karo ncurses apik 🙂

  9.   Jazeco ngandika

    ing 1 tembung… LUCU!
    Suwe-suwe aku nyampurnakake skrip kanggo nggawe download saka Internet, nanging aku duwe masalah yen ndownload file sing dijaluk 1 lan maneh tanpa bisa verifikasi eksistensi 1ro.
    Tuto apik banget.

  10.   zulan ngandika

    Kontribusi sing luar biasa, ing kene saka Chili dihargai.
    Saben dina LINUX luwih seneng banget,
    Suwe-suwe Piranti Lunak Gratis MIERDAAAA.

  11.   david ngandika

    ngawula kanggo
    priksa manawa file kasebut saka direktori

  12.   Panyedhiya ngandika

    Yen aku pengin mriksa eksistensi file ing jalur «/ tmp / panrima», jalanake prentah apa wae?

    Aku bakal ngucapke matur nuwun banget

    regards

  13.   Juan ngandika

    Dear, lan kanggo nemtokake yen IF file kasebut kebak ???. Aku takon iki amarga nalika sampeyan ngisi file kanggo ngirim, sampeyan bisa njupuk kanthi setengah data.

    Salam lan matur nuwun kanggo tanggepan.

  14.   Inukaze ngandika

    Aku mikir sampeyan uga kudu nambah conto, kayata "Priksa manawa ora ana" file "utawa" direktori "kayata

    kanggo mriksa manawa TIDAK ana, contone, nggunakake variabel->

    A Direktori

    #! / bin / bash
    Direktori = »$ HOME / Direktori Tes»
    File = »$ HOME / Gambar Tes»

    yen [! -d "$ Directory"]; banjur
    kumandhang "Ora ana $ Direktori"
    kumandhang "Nggawe ->" $ Direktori "
    mkdir "$ Direktori"
    liya
    kumandhang "Direktori" $ Direktori "wis ana
    fi

    yen [! -d "$ File"]; banjur
    kumandhang "File $ ora ana"
    kumandhang "Nggawe ->" $ File "
    tutul "$ File"
    liya
    kumandhang "File" $ File "wis ana
    fi

    1.    Katekyo ngandika

      nalika sampeyan nindakake mkdir mriksa mengko yen terminal bisa nggawe amarga bisa ngilangi bal yen folder minangka root utawa sistem hhah

  15.   Julius vinachi ngandika

    Salam KZKG ^ Gaara pitakon kaya sing bakal dakkanggo nggunakake curl. Aku pengin ngerti kepiye carane nggawe saka console nganti ping url kanggo ndeleng manawa kasedhiya contone http://portal.com/directorio/archivo1.php File1 sing bakal nyimpen IP kunjungan, yaiku kanggo ngawasi tim sing kudu nggawe pin kasebut saben setengah jam supaya aku ngerti IP umum amarga ganti saka wektu ke wektu lan aku ora bisa nyambung karo ssh.

    Salam matur nuwun rumiyin Gusti Allah mberkahi.

    1.    KZKG ^ Gaara ngandika

      Wah, kepiye carane

      Kaping pisanan, sampeyan kudu ujar manawa variabel IP (umpamane) minangka konten file kasebut, kanggo iki sampeyan kudu:
      1. Download file kasebut
      2. Deleng isine banjur entuk IP saka kana
      3. IP kasebut minangka variabel

      Contone:
      Ing kene kita ndownload file - »wget http://portal.com/directorio/archivo1.php -o file.html
      Banjur kita nemtokake variabel isine: - »: $ {IP: =` cat file.html`}
      .. kanthi asumsi manawa isi file kasebut mung duwe IP, yen ora, sampeyan kudu nggarap grep, awk utawa kepala.

      Sawise IP dadi variabel, turahane minangka perkara paling gampang ing jagad 🙂

      Yen sampeyan pengin nulis aku menyang email (kzkggaara [at] desdelinux [dot] net) aku bakal seneng nulungi sampeyan

      1.    Julius vinachi ngandika

        Matur nuwun kanthi sanget kzkggaara matur nuwun sanget.

  16.   Natalia ngandika

    Hai, aku ora ngerti babagan komputasi lan ora ngerti apa postingan iki ana gandhengane karo masalah sing dakalami.

    Aku menehi komentar yen sampeyan maca, sanajan kiriman saka setahun kepungkur:
    Ternyata aku nggawe folder ing desktop kanggo nyimpen sawetara video. Ya, aku mbusak video kasebut amarga ora mbutuhake maneh lan saiki folder iki ngandhani yen ora ana (sanajan katon ing desktop).

    - Iki minangka masalah pertama sing dakalami:
    Aku ora bisa mbusak folder.

    - Masalah nomer loro lan aku luwih penting:
    Ing upaya mbusak folder, aku sijine folder PHOTOS. Saiki nalika mbukak folder sing "ora ana", kosong lan PHOTOS ora ana.

    Kepiye cara aku bisa njupuk foto maneh? Aku wis menehi pilihan ing folder "Tampilake dokumen sing didhelikake" nanging folder PHOTOS ora katon.

    Muga-muga sampeyan bisa ngerti kepiye carane ditanggulangi.
    Matur nuwun.

    1.    sampeyan ngandika

      Ana rong pangguna sing utama: root lan your_user (contone natalia). Kalorone duwe folder pribadi. your_user in / home and root in / (root direktori). Kanthi ngeklik kanthi bener ing folder, delengen sapa sing duwe. Yen ROOT karo pangatur file nggunakake sudo utawa gksu utawa kdesu gumantung saka lingkungan sing sampeyan gunakake bukak direktori root -> root -> Desktop lan sampeyan bakal bisa nemokake foto lan sampeyan bisa mbusak folder kasebut. Sawetara distro nalika sampeyan dudu pemilik file utawa direktori lan ora duwe idin akses ngandhani yen direktori / file ora ana. Yen sampeyan duwe lan sampeyan ora ROOT, tindakake kanthi file manager karo sudo, lan liya-liyane banjur bukak direktori root -> / home -> personal_folder -> Desktop lan deleng manawa foto ana lan apa sampeyan bisa mbusak folder kasebut.
      Yen ora bisa digunakake, sampeyan kudu ndeleng opsi liyane saka terminal (console).

  17.   Pedro Manuel Aguayo Munoz ngandika

    Hai, piye kabarmu? Aku lagi kerja ing bash lan aku pengin ngerti cara verifikasi manawa ana direktori sing mlebu saka keyboard, kayata

    #! / bin / bash
    rute maca
    #Masuk ~ / Desktop
    # Banjur aku nyoba navigasi direktori kasebut
    cd $ path
    # Aku entuk pesen bash ing ngisor iki: cd: ~ / Desktop: File utawa direktori ora ana

    Pitakonanku, apa sing kudu daklakoni supaya aku ngetik saka keyboard lan njupuk minangka jalur direktori?

  18.   Miguel ngandika

    Lan kepiye aku ngerti yen ana klompok,

  19.   heidi ngandika

    apik aku duwe masalah ing canaima nalika aku menet tombol cunaguaro, jarene ora ana file utawa direktori kaya ngatasi masalah kasebut lan sisane ora mbukak cunaguaro, matur nuwun.

  20.   Carlos ngandika

    Kepiye cara sampeyan yen ing BASH yen jeneng berkas kasebut duwe spasi?
    Contone:
    Data April.xlsx

    Kanggo takon apa ana file kasebut

    1.    Manuel Alcocer Jimenez ngandika

      Carlos, kaya iki:

      yen [["$ variable" == Data \ wulan \ saka \ April.xlsx]]; banjur kumandhang 'tandhing'; fi

      Sampeyan uga bisa:
      yen [["$ variable" == 'Data kanggo wulan April.xlsx']]; banjur kumandhang 'tandhing'; fi

      Pilihan liyane:
      [["$ Variable" == 'Data kanggo April.xlsx']] && kumandhang 'cocog' || kumandhang 'ora cocog'

      Sawetara wilayah sing peteng ing internet nyaranake nggunakake [[]] tinimbang [], lan yen sampeyan mbandhingake nomer banjur: ((variable> = 3)) && echo 'variabel luwih gedhe tinimbang utawa padha karo 3' || variabel kumandhang kurang saka 3 '

      Mula, kanggo nomer:

      yen ((nomer! = 4)); banjur kumandhang "$ {nomer} dudu 4"; liya kumandhang "$ {nomer} ana 4"; fi

  21.   Cesar Matheus ngandika

    kepiye sampeyan bisa nggawe kode kanggo divalidasi yen direktori duwe teks tartamtu, supaya bisa diowahi.

    contone:

    yen (teks1)

    ora nindakake apa-apa

    liya

    ganti teks1 dadi teks2

  22.   Miguel ngandika

    pitakon, kepiye carane mriksa saben 15 detik yen file kasebut ana utawa ora, matur nuwun.

  23.   kali kali ngandika

    hello,
    iki:
    yen [-w / home / Komun / Log / ti]; banjur
    Temokake manawa file kasebut bisa ditulis. Nanging adhedhasar ijin pangguna. Apa bisa ditindakake kanggo ngerteni manawa klompok utawa liyane duwe ijin?