Reede terminal: Bash [võtme laiendamine]

Kõigepealt tahaksin vabandust paluda, kuna eelmisel reedel ei saanud ma postitust kirjutada, nii et täna lisan kaotatud päeva korvamiseks lisa. 🙂

Trakside laiendamine

Hispaania keeles on võtmepaisumine minu jaoks funktsioon, mis on inspireeritud C kest, genereerib see sulgudes sisestatud märkide vahel kombinatsioone, järjestus, mida see kasutab, on vasakult paremale. See pole üldse keeruline, kuid see on võimalus, mis on meie GNU / Linuxi tuuridel väga kasulik.

Näide:

$ kaja a {1,2,3} a1 a2 a3

Kui kasutatakse komadega (,) genereerib väärtuste a ja trakside sees olevate väärtuste vahel kombinatsioone. Kui väljaspool klambrit ei olnud väärtust, kuvatakse see ainult üks väärtus, mida võti sisaldab.

$ kaja {a, b, c} abc

Selle kasutamine pole üldse keeruline, on ka teisi levinumaid näiteid, näiteks paljude kataloogide loomine kausta

$ mkdir ~ / töökohad / {üks, kaks, kolm, neli, viis}

See loob viis kausta töökohtade kausta, see on nagu ühe käsu sisestamine korraga. 5 kataloogi loomine.

On laienemist kahe punkti võrra .. Nii luuakse seeria numbreid või märke, mis lähevad algväärtusest lõplikku väärtuseni, ärge kasutage tähtedega numbreid.

$ echo {1..5} #Parandage 1 2 3 4 5 sinine värv kirjas

Tsükli loomisega saame aega kokku hoida eest

# Selle asemel, et kirjutada $ ((i = 1; i <= 5; i ++)) jaoks; tee kaja "Minu number $ i"; valmis Minu number 1 Minu number 2 Minu number 3 Minu number 4 Minu number 5 #Salvestame koodi trakside laiendamise abil. $ i jaoks ajavahemikus {1..5}; do echo "Minu number $ i; valmis Minu number 1 Minu number 2 Minu number 3 Minu number 4 Minu number 5 # Muidugi on seda kasutada, kuigi väljund on erinev. $ echo" Minu number "{1..5} Minu number 1 Minu number 2 Minu number 3 Minu number 4 Minu number 5

Ma arvan, et kontseptsioon on selge, haha ​​kommenteerin nüüd ainult seda, et see on kombineeritav ja pesastatud. Mida ma selle all mõtlen?
Kombineeritavana saame ühendada ühe või mitu klahvi

$ echo {a..c} {1..3} a1 a2 a3 b1 b2 b3 c1 c2 c3

Kui paljud pesitsevad, pesitsemise ajal saate laienemisvõtmetes kasutada laienemisvõtmeid

$ echo {a, c {1..3}, d} a c1 c2 c3 d

Ja lõpuks alates Bash MITTE väärtusi on võimalik suurendada.

$ kaja {0..20..2} 0 2 4 6 8 10 12 14 16 18 20

See kõik on tänaseks, nii et aitäh, et lugesid mulle inimesi 🙂

lisatasu

Kuidas luua kohalik prügikast

Kui ma ütlen a konteiner kohalik ma mõtlen kataloogi, kus meil on oma skriptid ja neid on võimalik täita lihtsa käsuna ...

Selle saavutamine on suhteliselt lihtne, kõigepealt peate looma kataloogi, kuhu skriptid salvestame.

mkdir ~ / .bin # Selles näites see peidetakse

Nüüd on meil skriptide salvestamiseks kaust, kuid see ei toimi enne, kui lisame uue .bini tee kausta $ PATH
Selle jaoks on fail redigeeritud bash_profiilja rida lisatakse.

eksport PATH = $ PATH: ~ / .bin

Ja voila, millest piisab kohaliku prügikasti loomiseks, loomulikult küsib see vajaduse korral juurõigusi, näiteks näite jaoks, mille kirjutame kiirskripti.

#! / bin / bash kaja "Tere $ 1, kuidas läheb?"

Salvestage see nimega tere
Skriptile antakse täitmisluba ja sellest piisab vaid terminalist helistamiseks

$ tere wada # See näitab teadet Tere wada, kuidas läheb?

Nii et selle kiire nipiga saate skripte kiiremini käivitada

See on kõik tänapäeva inimestele, kellel on hea 🙂
PS Vabandan vigade eest, kui neid on, mu silmad lähevad juba kinni hahaha 😀


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   dhunter DIJO

    Olen olnud pikka aega bashiteemas ja ma ei olnud neist trakside laiendustest aru saanud, aitäh.

    Rajatrikkil teeb Fedora vaikimisi midagi sellist, kuid kataloogis "~ / .local / bin" vaadake juppi bash_profile'ist, mille ma Jessiele tõin.

    PATH = $ PATH: $ HOME / .local / bin: $ HOME / bin
    eksport PATH

    1.    Ricardo DIJO

      Mul on mõned mured:
      1. Kuidas panna teda andma mulle kaks intervalli punktidega laiendades; vanuses {1..24,55..90} ja laiendada vanust 1 kuni 24 ja jätkata 55 kuni üheksakümmend. nagu ma tegin, see ei töötanud. Miks?

      2. Kui ma tahan, et esimene väärtus oleks null ja jätkan numeratsiooniga:
      wget: http://manga.favorito / pilt http://manga.favorito/imagen1
      Proovisin järgmist viisi, kuid wget ei saanud: http://manga.favorito/imagen{, 1..42} Minu arvates peaksin eesnime ilma numbrita jätma ja jätkama numeratsiooniga 1 kuni 42, kuid see ei olnud selline. Miks?

    2.    Wada DIJO

      Teil on õigus, et mõnel distros on või on olnud .bin, kuid see on nii, et kõik saaksid aru ja näeksid, et seda on võimalik teha igas distroos: D, aitäh, et peatusite.

  2.   demo DIJO

    Väga hea, väga hea nende teadmiste panuse eest Linuxi maailma ja selle turvalisusse, mõnel reedel loodan, et võiksin lugeda, kuidas terminalis pendrive vormindada ja terminalis oleva vaba süsteemi iso DVD / CD-pilti kirjutada.

    1.    Wada DIJO

      Täname sõnu vend 😀 Luban, et järgmisel reedel teen selle postituse. Pean Vimi kohandamist hahaha, aga ma ei tahtnud, et nad arvaksid, et see hõlmab ainult Vimi.

  3.   edoardo_või DIJO

    Suurepärane terminaliartikkel, parim, mida olen pikka aega lugenud, lugedes mitmeid ajaveebe, mis avaldavad seda stiili õpetusi. Tänud!!

    1.    Wada DIJO

      Suur aitäh 😀 Püüan sammu pidada.

  4.   juanli DIJO

    Suurepärane näpunäide kohalikust prügikastist!
    Tervitused!

    1.    Wada DIJO

      Suurepärane, suurepärane, et see on teile kasulik, suur aitäh mööduva venna eest 😀

  5.   giskard DIJO

    Väga hea! Sellest pole aimugi. Aitäh 🙂

    1.    Wada DIJO

      Olete teretulnud vend tänu teile, et leidsite aega selle lugemiseks 😀

  6.   Ricardo DIJO

    Mul on mõned mured:
    1. Kuidas panna teda andma mulle kaks intervalli punktidega laiendades; vanuses {1..24,55..90} ja laiendada vanust 1 kuni 24 ja jätkata 55 kuni üheksakümmend. nagu ma tegin, see ei töötanud. Miks?

    2. Kui ma tahan, et esimene väärtus oleks null ja jätkan numeratsiooniga:
    wget: http://manga.favorito/imagen http://manga.favorito/imagen1

    Proovisin järgmist viisi, kuid wget ei saanud: http://manga.favorito/imagen{, 1..42} Minu arvates peaksin eesnime ilma numbrita jätma ja jätkama numeratsiooniga 1 kuni 42, kuid see ei olnud selline. Miks?
    * Vabandust, aga vastuseks panin esimese postituse ja see oli mõnes osas vale

    1.    Wada DIJO

      1.- Teie loogika on vale, peate selle pesitsema, hahaha proovige $ echo {{1..24},{55..90}}

      2. - sama mis eelmine ... $ echo "URL"{,{1..42}}

      Ära muretse, vend, me oleme siin, et meid aidata 🙂

  7.   jvk85321 DIJO

    Aasta kajaga asendamine näeks välja selline

    kaja "Minu number" {1..5} $ '\ n' | sed -e: a -e '$! N; s / \ n / \ n /; ta' | sed -e: a -e '$! N; s / 5 \ n / 5 /; ta'

    aga ma eelistan printf-i

    printf "Mina, ma% d \ n" {1..5}

    ja kasutage sama võtmepaisumise mõistet

    Atte
    jvk85321

    1.    jvk85321 DIJO

      Kuidas sa terminalikarbid paned ????

      Atte
      jvk85321

  8.   jvk85321 DIJO

    Koodisildi toimimise testimine
    jeje

    Aasta kajaga asendamine näeks välja selline

    echo “Mi numero “{1..5}$’\n’ | sed -e :a -e ‘$!N;s/\n /\n/;ta’ | sed -e :a -e ‘$!N;s/5\n/5/;ta’

    pero prefiero printf

    printf “Mi numero %d\n” {1..5}

    ja kasutage sama võtmepaisumise mõistet

    Atte
    jvk85321

    1.    jvk85321 DIJO

      Mulle on jäänud mõned vead, kuid see töötas

      Elan malucos

      Vabandust, et segan

      Atte
      jvk85321

      1.    Wada DIJO

        Hahaha vastasite ise, aga kui see on siltide vahel tühikuid pole ...

        Ja asendaja jaoks pole vaja teha nii palju toru hahahaha piisavalt:
        echo -e "Mi numero "{1..5}"\n\b"

        Kui aus olla, printf on parim viis teksti skriptidena printimiseks, see on kaasaskantavam, kuid traditsiooniliselt kasutab kaja.

      2.    Wada DIJO

        Ma võtan tühikud! hahahahaha

        vaatame nüüd 😀

      3.    Wada DIJO

        Fuck see on "vähem kui" kood "suurem kui" "väiksem kui" / kood "suurem kui" hahahaha

      4.    jvk85321 DIJO

        Probleem, et kaja -e ei ole standardne, seega ei tööta see kõigis süsteemides.

        Tuleb välja ka räpane
        jvk@jvktos:~$ echo -e "Mi numero "{1..5}"\n\b"
        Mi numero 1
        Mi numero 2
        Mi numero 3
        Mi numero 4
        Mi numero 5

        jvk@jvktos:~$
        Ja sellega
        jvk@jvktos:~$ echo "Mi numero "{1..5}$'\n' | sed -e :a -e '$!N;s/\n /\n/;ta' | sed -e :a -e '$!N;s/5\n/5/;ta'
        Mi numero 1
        Mi numero 2
        Mi numero 3
        Mi numero 4
        Mi numero 5
        jvk@jvktos:~$

        Ma arvan, et teine ​​esitab tulemust paremini, hahaha

        Atte
        jvk85321

      5.    jvk85321 DIJO

        Need sildid on pätt, hehehe, vaatame, kas need ka nüüd õnnestuvad
        jvk@jvktos:~$ echo -e "Mi numero "{1..5}"\n\b"
        Mi numero 1
        Mi numero 2
        Mi numero 3
        Mi numero 4
        Mi numero 5
        jvk@jvktos:~$

        Ja sellega
        jvk@jvktos:~$ echo "Mi numero "{1..5}$'\n' | sed -e :a -e '$!N;s/\n /\n/;ta' | sed -e :a -e '$!N;s/5\n/5/;ta'
        Mi numero 1
        Mi numero 2
        Mi numero 3
        Mi numero 4
        Mi numero 5
        jvk@jvktos:~$

        Ma arvan, et teine ​​esitab tulemust paremini, hahaha
        Atte
        jvk85321

      6.    jvk85321 DIJO

        Igatahes jäta ridade vahele tühikud, sellepärast ma vihkan HTML-i, hahahaha

  9.   Joaquin DIJO

    Suurepärane! Plaksutan su jalgu haha

    Ma ei teadnud, et võtmeid saab pesastada, kuna ma pole ka kunagi proovinud neid kasutada, see säästab tõesti palju koodi ja on ka sel viisil paremini loetav. Aitäh!

    1.    Wada DIJO

      Täname teid mööduva venna eest, mul on hea meel, et see oli kasulik utilidad

      1.    Joaquin DIJO

        Olete teretulnud, selleks me siin oleme, ideid jagama ja panustama. Ma ei tea, kuidas programmeerida, tegin lihtsalt paar asja Bashis ja avaldasin kahes postituses mõned stsenaariumid, mida tegin. Ma arvan, et selle teadmine võib koodi hõlpsamini mõista.