Først og fremst vil jeg beklage, siden sist fredag kunne jeg ikke skrive innlegget, så i dag vil jeg legge til en ekstra for å gjøre opp den tapte dagen. 🙂
Brace-utvidelse
På spansk virker nøkkelutvidelse for meg å være en funksjon inspirert av C skallgenererer dette kombinasjoner mellom tegnene som skrives inn i selene, rekkefølgen den bruker er fra venstre til høyre. Det er ikke komplisert i det hele tatt, men det er et alternativ som vil være veldig nyttig i våre turer til GNU / Linux.
Eksempel:
$ ekko a {1,2,3} a1 a2 a3
Når det brukes med komma (,) genererer kombinasjoner mellom verdien a og verdiene i parentesene. Hvis det ikke var noen verdi utenfor tastene, ville den bare vise en gang hver verdi som nøkkelen inneholder.
$ ekko {a, b, c} abc
Bruken er ikke komplisert i det hele tatt, det er andre mer vanlige eksempler som å lage mange kataloger i en mappe
$ mkdir ~ / Jobs / {en, to, tre, fire, fem}
Dette oppretter fem mapper i jobbmappen, det er som å skrive inn en kommando om gangen. Opprette de 5 katalogene.
Det er utvidelse med to poeng .. Dette skaper en serie tall eller tegn som går fra den opprinnelige verdien til den endelige verdien, ikke bruk bokstaver.
$ echo {1..5} #Correct 1 2 3 4 5 $ echo {a..f} #Correct abcdf $ echo {a..5} # Inkorrekt {a..5} # Jeg tror jeg aldri blir vant til dette blå farge i bokstav
Vi kan spare tid ved å lage en syklus forum
#I stedet for å skrive $ for ((i = 1; i <= 5; i ++)); gjør ekko "Mitt nummer $ i"; gjort Mitt nummer 1 Mitt nummer 2 Mitt nummer 3 Mitt nummer 4 Mitt nummer 5 # Lagre kode ved hjelp av brace-utvidelse. $ for i i {1..5}; gjør ekko "Mitt nummer $ i; ferdig Mitt nummer 1 Mitt nummer 2 Mitt nummer 3 Mitt nummer 4 Mitt nummer 5 # Selvfølgelig er det gyldig å bruke selv om utdataene er forskjellige. $ echo" Mitt nummer "{1..5} Mitt nummer 1 Mitt nummer 2 Mitt nummer 3 Mitt nummer 4 Mitt nummer 5
Vel, jeg tror konseptet er klart, haha nå vil jeg bare kommentere at det kan kombineres og nestes. Hva mener jeg med dette?
Kan kombineres slik at vi kan bli med på en eller flere taster
$ echo {a..c} {1..3} a1 a2 a3 b1 b2 b3 c1 c2 c3
Med hekking som mange kan forestille seg, kan du bruke utvidelsestaster innen utvidelsestaster
$ echo {a, c {1..3}, d} a c1 c2 c3 d
Og til slutt fra Bash INGENTING det er mulig å øke verdiene.
$ echo {0..20..2} 0 2 4 6 8 10 12 14 16 18 20
Dette er alt for i dag, så takk for at du leser meg folk 🙂
ekstra
Hvordan lage en lokal søppel
Når jeg sier a bin lokal mener jeg en katalog der vi har våre egne skript, og det er mulig å utføre dem som en enkel kommando ...
Å oppnå dette er relativt enkelt. Det første du trenger å gjøre er å opprette en katalog der vi vil lagre skriptene.
mkdir ~ / .bin # I dette eksemplet blir det skjult
Nå har vi mappen vår for å lagre skriptene, men den fungerer ikke før vi legger til banen til den nye .bin til $ PATH
For dette redigeres filen bash_profile, og linjen er lagt til.
eksporter PATH = $ PATH: ~ / .bin
Og voila som er nok til å opprette en lokal søppel, selvfølgelig vil den be om rottillatelser om nødvendig for et eksempel, vi skriver et raskt skript.
#! / bin / bash echo "Hei $ 1, hvordan har du det?"
Lagre den med navnet på Hallo
Skriptet får gjennomføringstillatelse, og det vil bare være nok til å ringe det fra terminalen
$ hallo wada # Dette vil vise meldingen Hallo wada, hvordan har du det?
Så med dette raske trikset kan du kjøre skriptene dine raskere
Det er alt for i dag mennesker som har det bra 🙂
PS Unnskyld feilene hvis det er, øynene mine lukker allerede hahaha 😀
Jeg har vært i bash-utgaven i lang tid, og jeg hadde ikke forstått brace-utvidelsene disse, takk.
På banetrikset gjør Fedora som standard noe slikt, men i "~ / .local / bin", se på et snutt fra bash_profilen som jeg tok med til Jessie.
PATH = $ PATH: $ HOME / .local / bin: $ HOME / bin
eksporter PATH
Jeg har noen bekymringer:
1. Hvordan får jeg ham til å gi meg to intervaller med utvidelse etter poeng; i alderen {1..24,55..90} og at jeg utvider alderen fra 1 til 24 og fortsetter med 55 til nitti. som jeg gjorde fungerte det ikke. Hvorfor?
2. Hvis jeg vil at den første verdien skal være null og fortsette med nummereringen:
wget: http://manga.favorito /bilde http://manga.favorito/imagen1
Jeg prøvde på følgende måte, men wget fikk ikke: http://manga.favorito/imagen{, 1..42} Ifølge meg måtte jeg la fornavnet være uten et nummer og fortsette med nummereringen fra 1 til 42, men det var ikke slik. Hvorfor?
Du har rett i at noen distroer har eller hadde en .bin, men det er slik at alle kan forstå og se at det er mulig å gjøre det i hvilken som helst distro: D, takk for at du stoppet innom.
Veldig bra veldig bra for disse kunnskapsbidragene til linuxverdenen og dens sikkerhet, en fredag håper jeg at jeg kunne lese hvordan jeg kan formatere en pendrive i en terminal og brenne et iso DVD / CD-bilde av ethvert gratis system i en terminal.
Takk for ordene dine bror 😀 Jeg lover at neste fredag skal jeg gjøre det innlegget. Og jeg må en om å tilpasse Vim hahaha, men jeg ville ikke at de skulle tro at det bare ville omfatte Vim.
Utmerket terminalartikkel, den beste jeg har lest på lenge, og teller flere blogger som publiserer tutorials av denne stilen. Takk så mye!!
Tusen takk 😀 Jeg vil prøve å følge med.
Utmerket tips om den lokale søpla!
Greetings!
Utmerket, flott at det er nyttig for deg, tusen takk for bestått bror 😀
Veldig bra! Ingen anelse om dette. Takk 🙂
Du er velkommen bror takk til deg for at du tok deg tid til å lese den 😀
Jeg har noen bekymringer:
1. Hvordan får jeg ham til å gi meg to intervaller med utvidelse etter poeng; i alderen {1..24,55..90} og at jeg utvider alderen fra 1 til 24 og fortsetter med 55 til nitti. som jeg gjorde fungerte det ikke. Hvorfor?
2. Hvis jeg vil at den første verdien skal være null og fortsette med nummereringen:
wget: http://manga.favorito/imagen http://manga.favorito/imagen1
Jeg prøvde på følgende måte, men wget fikk ikke: http://manga.favorito/imagen{, 1..42} Ifølge meg måtte jeg la fornavnet være uten et nummer og fortsette med nummereringen fra 1 til 42, men det var ikke slik. Hvorfor?
* Beklager, men jeg la det første innlegget som svar, og det var feil i noen deler
1.- Logikken din er feil, du må hekke den hahaha prøv med
$ echo {{1..24},{55..90}}
2.- Samme som den forrige ...
$ echo "URL"{,{1..42}}
Ikke bekymre deg bror, vi er her for å hjelpe oss 🙂
For å erstatte for med ekko vil det se slik ut
ekko "Mitt nummer" {1..5} $ '\ n' | sed -e: a -e '$! N; s / \ n / \ n /; ta' | sed -e: a -e '$! N; s / 5 \ n / 5 /; ta'
men jeg foretrekker printf
printf "Jeg, jeg% d \ n" {1..5}
og bruke det samme konseptet med nøkkelutvidelse
atte
jvk85321
Hvordan setter du terminalboksene ????
atte
jvk85321
Tester om kodekoden fungerer
hehe
For å erstatte for med ekko vil det se slik ut
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}
og bruke det samme konseptet med nøkkelutvidelse
atte
jvk85321
Jeg sitter igjen med noen feil, men det fungerte
Jeg lever maluco
Unnskyld at jeg forstyrrer
atte
jvk85321
Hahaha du svarte deg selv, men hvis det er mellom etikettene
ingen mellomrom ...
Og på erstatning av for er det ikke nødvendig å gjøre så mye pipe hahahaha nok med:
echo -e "Mi numero "{1..5}"\n\b"
For å være ærlig er printf den beste måten å skrive ut tekst i skript, den er mer bærbar, men bruker tradisjonelt ekko.
Jeg tar mellomrommene! hahahahaha
la oss se nå 😀
Faen det er "mindre enn" kode "større enn" "mindre enn" / kode "større enn" hahahaha
Problemet med at ekko -e ikke er standard, så det fungerer ikke på alle systemer.
Kommer også rotete ut
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:~$
Og med dette
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:~$
Jeg tror det andre presenterer resultatet bedre, hahaha
atte
jvk85321
Disse merkelappene er en bummer, hehehe, la oss se om de ordner seg nå
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:~$
Og med dette
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:~$
Jeg tror det andre presenterer resultatet bedre, hahaha
atte
jvk85321
Uansett, la mellomrom være mellom linjene, det er derfor jeg hater html, hahahaha
Utmerket! Jeg klapper med føttene haha
Jeg visste ikke at nøkler kunne nestes, siden jeg heller aldri prøvde å bruke dem, det sparer veldig mye kode, og det er også mer lesbart på denne måten. Takk skal du ha!
Takk til deg for bestått bror, jeg er glad for at det var nyttig utilidad
Du er velkommen, det er det vi er her for å dele og bidra med ideer. Jeg vet ikke hvordan jeg skal programmere, jeg gjorde bare et par ting i Bash og jeg publiserte noen skript som jeg gjorde i to innlegg. Jeg tror at å vite dette kan gjøre koden lettere å forstå.