Së pari do të doja të kërkoja falje, pasi që të Premten e kaluar nuk mund të shkruaja postimin kështu që sot do të shtoj një shtesë për të kompensuar ditën e humbur. 🙂
Zgjerimi i mbajtëses
Në Spanjisht, zgjerimi i çelësit më duket se është një funksion i frymëzuar nga c-guaskë, kjo gjeneron kombinime midis karaktereve që futen brenda kllapave, renditja që përdor është nga e majta në të djathtë. Nuk është aspak i ndërlikuar, por është një opsion që do të jetë shumë i dobishëm në turnet tona të GNU / Linux.
Shembull:
$ jehonë një {1,2,3} a1 a2 a3
Kur përdoret me presje (,) gjeneron kombinime midis vlerës a dhe vlerave brenda bazamenteve. Nëse nuk do të kishte asnjë vlerë jashtë çelësave, ajo do të tregonte vetëm një herë çdo vlerë që përmban çelësi.
$ echo {a, b, c} abc
Përdorimi i tij nuk është aspak kompleks, ka shembuj të tjerë më të zakonshëm siç është krijimi i shumë direktorive në një dosje
$ mkdir ~ / Punë / {një, dy, tre, katër, pesë}
Kjo krijon pesë dosje brenda dosjes së punëve, është si të futni një komandë në të njëjtën kohë. Krijimi i 5 direktorive.
Ka zgjerim me dy pika .. Kjo krijon një seri numrash ose karakteresh që kalojnë nga vlera fillestare në vlerën përfundimtare, nuk përdorin numra me shkronja.
$ echo {1..5} #Korrekt 1 2 3 4 5 $ echo {a..f} #Korrekt abcdf $ echo {a..5} # I pasaktë {a..5} # Mendoj se nuk do të marr kurrë përdoret për këtë ngjyrë blu me shkronjë
Ne mund të kursejmë kohë duke krijuar një cikël për
# Në vend që të shkruaj $ për ((i = 1; i <= 5; i ++)); bëj jehonë "Numri im $ i"; bërë Numri im 1 Numri im 2 Numri im 3 Numri im 4 Numri im 5 # Ruaj kodin duke përdorur zgjerimin e mbajtëses. $ për i në {1..5}; bëj jehonë "Numri im $ i; bërë numri im 1 Numri im 2 3 Numri im 4 Numri im 5 Numri im 1 # Sigurisht që është e vlefshme të përdoret edhe pse rezultati është i ndryshëm. $ echo" Numri im "{5..1} Numri im 2 Numri im 3 Numri im 4 Numri im 5 Numri im XNUMX
Epo mendoj se koncepti është i qartë, haha tani unë vetëm do të komentoj se është i kombinueshëm dhe i vendosur. Çfarë dua të them me këtë?
Me të kombinueshëm me të cilin mund të bashkojmë një ose më shumë çelësa
$ echo {a..c} {1..3} a1 a2 a3 b1 b2 b3 c1 c2 c3
Me fole, siç do të imagjinonin shumë mund të përdorni çelësat e zgjerimit brenda çelësave të zgjerimit
$ echo {a, c {1..3}, d} a c1 c2 c3 d
Dhe së fundmi nga bash 4 është e mundur të rriten vlerat.
$ echo {0..20..2} 0 2 4 6 8 10 12 14 16 18 20
Kjo është e gjitha për sot, prandaj faleminderit që më lexuat njerëz
shtesë
Si të krijoni një kosh lokal
Kur them një bin lokale Unë dua të them një direktori në të cilën ne kemi skriptet tona dhe është e mundur t'i ekzekutojmë ato si një komandë e thjeshtë ...
Arritja e kësaj është relativisht e lehtë, gjëja e parë që duhet bërë është krijimi i një direktorie ku do të ruajmë skriptet.
mkdir ~ / .bin # Në këtë shembull do të fshihet
Tani kemi dosjen tonë për të ruajtur skriptet por nuk do të funksionojë derisa të shtojmë shtegun e ri .bin tek $ PATH
Për këtë skedari është redaktuar profili bash_, dhe rreshti shtohet.
Rruga e eksportit = $ PATH: ~ / .bin
Dhe voila që është e mjaftueshme për të krijuar një shportë lokale, natyrisht që do të kërkojë leje rrënjësore nëse është e nevojshme për një shembull që shkruajmë një skenar të shpejtë.
Jehona #! / bin / bash "Përshëndetje $ 1, si jeni?"
Ruajeni me emrin e hola
Skriptit i jepet leja e ekzekutimit dhe do të jetë e mjaftueshme vetëm për ta thirrur atë nga terminali
$ hello wada # Kjo do të tregojë mesazhin Përshëndetje wada, si jeni?
Pra, me këtë hile të shpejtë ju mund të ekzekutoni skriptet tuaja më shpejt
Kjo është e gjitha për njerëzit sot që janë mirë
PS Na vjen keq për gabimet nëse ka, sytë tashmë po më mbyllen hahaha
Unë kam qenë në çështjen bash për një kohë të gjatë dhe nuk i kisha kuptuar zgjerimet e bazave të tyre, faleminderit.
Në lidhje me mashtrimin e rrugës, Fedora si parazgjedhje bën diçka të tillë, por në "~ / .local / bin", shiko një copë nga bash_profile që unë i solla Jessie.
PATH = $ PATH: $ HOME / .local / bin: $ HOME / bin
Rruga e eksportit
Kam disa shqetësime:
1. Si mund ta bëj që ai të më japë dy intervale me zgjerim për pikë; moshat {1..24,55..90} dhe që unë zgjeroj moshat nga 1 në 24 dhe vazhdoj me 55 deri në nëntëdhjetë. ashtu si veprova nuk funksionoi. Pse
2. Nëse dua që vlera e parë të jetë nul dhe të vazhdoj me numërimin:
wget: http://manga.favorito / imazhi http://manga.favorito/imagen1
Kam provuar mënyrën e mëposhtme, por wget nuk e kam marrë: http://manga.favorito/imagen{, 1..42} Sipas meje, do të më duhej ta lija emrin pa numër dhe të vazhdoja me numërimin nga 1 në 42 por nuk ishte kështu. Pse
Keni të drejtë që disa distro kanë ose kanë një .bin por kjo është në mënyrë që të gjithë ta kuptojnë dhe të shohin se është e mundur ta bëni në çdo distro: D, Faleminderit që u ndalët.
Shumë mirë shumë e mirë për këto kontribute të njohurive në botën e linux-it dhe sigurinë e saj, disa të premte shpresoj të mund të lexoj se si të formatoj një pendrive në një terminal dhe të digjem një imazh ISO DVD / CD të ndonjë sistemi falas në një terminal.
Faleminderit për fjalët e tua vëlla ... Unë premtoj që të Premten e ardhshme do ta bëj atë postim. Dhe unë duhet të flas për personalizimin e Vim-it hahaha por nuk doja që ata të mendonin se do të përfshinte vetëm Vim-in.
Artikull i shkëlqyeshëm terminal, më i miri që kam lexuar për një kohë të gjatë, duke numëruar disa bloge që botojnë udhëzime të këtij stili. Faleminderit shume!!
Faleminderit shumë 😀 Do të përpiqem të vazhdoj.
Këshillë e shkëlqyeshme e shportës lokale!
Përshëndetje!
E shkëlqyeshme, e shkëlqyeshme që është e dobishme për ju, faleminderit shumë për vëllain që kaluat
Shume mire! Asnjë ide në lidhje me këtë. Faleminderit
Ju mirepresim vella faleminderit qe gjetem kohe per ta lexuar
Kam disa shqetësime:
1. Si mund ta bëj që ai të më japë dy intervale me zgjerim për pikë; moshat {1..24,55..90} dhe që unë zgjeroj moshat nga 1 në 24 dhe vazhdoj me 55 deri në nëntëdhjetë. ashtu si veprova nuk funksionoi. Pse
2. Nëse dua që vlera e parë të jetë nul dhe të vazhdoj me numërimin:
wget: http://manga.favorito/imagen http://manga.favorito/imagen1
Kam provuar mënyrën e mëposhtme, por wget nuk e kam marrë: http://manga.favorito/imagen{, 1..42} Sipas meje, do të më duhej ta lija emrin pa numër dhe të vazhdoja me numërimin nga 1 në 42 por nuk ishte kështu. Pse
* Na vjen keq por e vura postimin e parë si përgjigje dhe ishte e gabuar në disa pjesë
1.- Logjika juaj është e gabuar ju duhet ta vendosni atë hahaha provoni me të
$ echo {{1..24},{55..90}}
2.- Njësoj si ai i mëparshmi ...
$ echo "URL"{,{1..42}}
Mos u shqetëso vëlla, ne jemi këtu për të na ndihmuar
Për të zëvendësuar for me echo do të dukej kështu
jehona "Numri im" {1..5} $ '\ n' | sed -e: a -e '$! N; s / \ n / \ n /; ta' | sed -e: a -e '$! N; s / 5 \ n / 5 /; ta'
por preferoj printf
printf "Unë, I% d \ n" {1..5}
dhe të përdorin të njëjtin koncept të zgjerimit të çelësit
Atte
jvk85321
Si i vendosni kutitë e terminalit ????
Atte
jvk85321
Testimi nëse funksionon etiketimi i kodit
Jeje
Për të zëvendësuar for me echo do të dukej kështu
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}
dhe të përdorin të njëjtin koncept të zgjerimit të çelësit
Atte
jvk85321
Unë kam mbetur me disa mete, por ajo ka punuar
Unë jetoj maluco
Më vjen keq për shqetësimin
Atte
jvk85321
Hahaha i përgjigjeshe vetes por nëse është midis etiketave
nuk ka hapësira ...
Dhe në zëvendësimin e for nuk është e nevojshme të bëhet aq shumë tub hahahaha mjaftueshëm me:
echo -e "Mi numero "{1..5}"\n\b"
Të jem i sinqertë printf është mënyra më e mirë për të shtypur tekst në skripte, është më e lëvizshme por tradicionalisht përdor jehonë.
Unë marr hapësirat! hahahahaha
le të shohim tani
Qij është "më pak se" kodi "më i madh se" "më pak se" / kodi "më i madh se" hahahaha
Problemi që echo -e nuk është standard, prandaj nuk funksionon në të gjitha sistemet.
Gjithashtu del i çrregullt
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:~$
Dhe me këtë
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:~$
Mendoj se e dyta e paraqet rezultatin më mirë, hahaha
Atte
jvk85321
Këto etiketa janë një gabim, hehehe, le të shohim nëse funksionojnë tani
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:~$
Dhe me këtë
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:~$
Mendoj se e dyta e paraqet rezultatin më mirë, hahaha
Atte
jvk85321
Gjithsesi, lini hapësirat midis rreshtave, prandaj e urrej html, hahahaha
Shkëlqyeshëm! Ju përplas këmbët haha
Nuk e dija që çelësat mund të vendoseshin, pasi që asnjëherë nuk u përpoqa t'i përdorja ato, me të vërtetë kursen shumë kod dhe është gjithashtu më i lexueshëm në këtë mënyrë. Faleminderit!
Faleminderit për vëllain që kalove, jam i lumtur që ishte i dobishëm
Jeni të mirëpritur, për këtë jemi këtu, për të ndarë dhe kontribuar me ide. Nuk di si të programoj, thjesht bëra disa gjëra në Bash dhe botova në dy postime disa skenare që bëra. Unë mendoj se njohja e kësaj mund ta bëjë kodin më të lehtë për t'u kuptuar.