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 😀
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
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?
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.
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.
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.
Suurepärane terminaliartikkel, parim, mida olen pikka aega lugenud, lugedes mitmeid ajaveebe, mis avaldavad seda stiili õpetusi. Tänud!!
Suur aitäh 😀 Püüan sammu pidada.
Suurepärane näpunäide kohalikust prügikastist!
Tervitused!
Suurepärane, suurepärane, et see on teile kasulik, suur aitäh mööduva venna eest 😀
Väga hea! Sellest pole aimugi. Aitäh 🙂
Olete teretulnud vend tänu teile, et leidsite aega selle lugemiseks 😀
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.- 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 🙂
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
Kuidas sa terminalikarbid paned ????
Atte
jvk85321
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
Mulle on jäänud mõned vead, kuid see töötas
Elan malucos
Vabandust, et segan
Atte
jvk85321
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.
Ma võtan tühikud! hahahahaha
vaatame nüüd 😀
Fuck see on "vähem kui" kood "suurem kui" "väiksem kui" / kood "suurem kui" hahahaha
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
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
Igatahes jäta ridade vahele tühikud, sellepärast ma vihkan HTML-i, hahahaha
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!
Täname teid mööduva venna eest, mul on hea meel, et see oli kasulik utilidad
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.