Una sa lahat nais kong humingi ng paumanhin, dahil noong Biyernes ay hindi ko naisulat ang post kaya ngayon ay magdaragdag ako ng dagdag upang mabawi ang nawalang araw. 🙂
Pagpapalawak ng Brace
Sa Espanyol, ang pangunahing pagpapalawak sa tingin ko ay isang pagpapaandar na inspirasyon ng c-kabibi, bumubuo ito ng mga kumbinasyon sa pagitan ng mga character na ipinasok sa loob ng mga brace, ang pagkakasunud-sunod na ginagamit nito ay mula kaliwa hanggang kanan. Hindi man ito kumplikado, ngunit ito ay isang pagpipilian na magiging kapaki-pakinabang sa aming mga paglilibot sa GNU / Linux.
Halimbawa:
$ echo isang {1,2,3} a1 a2 a3
Kapag ginamit sa mga kuwit (,) bumubuo ng mga kumbinasyon sa pagitan ng halaga a at mga halagang nasa loob ng mga tirante. Kung walang halaga sa labas ng mga brace, ipapakita lamang nito ang bawat halaga na naglalaman ang susi.
$ echo {a, b, c} abc
Ang paggamit nito ay hindi kumplikado sa lahat, may iba pang mga karaniwang mga halimbawa tulad ng paglikha ng maraming mga direktoryo sa isang folder
$ mkdir ~ / Trabaho / {isa, dalawa, tatlo, apat, lima}
Lumilikha ito ng limang mga folder sa loob ng folder ng mga trabaho, ito ay tulad ng pagpasok ng isang utos nang paisa-isa. Lumilikha ng 5 mga direktoryo.
Mayroong paglawak ng dalawang puntos .. Lumilikha ito ng isang serye ng mga numero o character na mula sa paunang halaga hanggang sa huling halaga, huwag gumamit ng mga may letrang numero.
$ echo {1..5} #Correct 1 2 3 4 5 $ echo {a..f} #Correct abcdf $ echo {a..5} #Incorrect {a..5} # Sa palagay ko hindi ako masasanay dito asul na kulay sa liham
Makakatipid tayo ng oras sa pamamagitan ng paglikha ng isang cycle para
# Sa halip na magsulat ng $ para sa ((i = 1; i <= 5; i ++)); gawin ang echo "Ang aking numero na $ i"; tapos na ang Aking numero 1 Aking numero 2 Aking numero 3 Aking numero 4 Aking numero 5 #I-save ang code gamit ang pagpapalawak ng brace. $ para sa i sa {1..5}; gawin ang echo "Ang aking numero $ i; tapos ang Aking numero 1 Aking numero 2 Aking numero 3 Aking numero 4 Aking numero 5 # Siyempre ito ay wastong gamitin kahit na iba ang output. $ echo" Ang aking numero "{1..5} Aking numero 1 Ang aking numero 2 Ang aking numero 3 Ang aking numero 4 Ang aking numero 5
Kaya sa palagay ko ang konsepto ay malinaw, haha ngayon ay magkomento lamang ako na ito ay pinagsasama at naka-pugad. Ano ang ibig kong sabihin dito?
Sa pamamagitan ng pagsasama na maaari kaming sumali sa isa o higit pang mga susi
$ echo {a..c} {1..3} a1 a2 a3 b1 b2 b3 c1 c2 c3
Gamit ang pugad ng maraming naiisip na maaari mong gamitin ang mga key ng pagpapalawak sa loob ng mga key ng pagpapalawak
$ echo {a, c {1..3}, d} a c1 c2 c3 d
At sa wakas galing bash 4 posible na taasan ang mga halaga.
$ echo {0..20..2} 0 2 4 6 8 10 12 14 16 18 20
Ito ay para sa ngayon, kaya salamat sa pagbabasa sa akin ng mga tao 🙂
dagdag
Paano lumikha ng isang lokal na basurahan
Pag sinabi ko a bin lokal na ibig kong sabihin isang direktoryo kung saan mayroon kaming sariling mga script at posible na maipatupad ang mga ito bilang isang simpleng utos ...
Ang pagkamit nito ay medyo madali, ang unang bagay na kailangan mong gawin ay lumikha ng isang direktoryo kung saan mai-save namin ang mga script.
mkdir ~ / .bin # Sa halimbawang ito ay maitatago ito
Ngayon ay mayroon kaming folder upang mai-save ang mga script ngunit hindi ito gagana hanggang idagdag namin ang landas ng bagong .bin sa $ PATH
Para sa mga ito ang file ay nai-edit bash_profile, at ang linya ay idinagdag.
i-export ang PATH = $ PATH: ~ / .bin
At voila na sapat na upang lumikha ng isang lokal na basurahan, siyempre hihingi ito ng mga pahintulot sa ugat kung kinakailangan para sa isang halimbawa sumulat kami ng isang mabilis na script.
#! / bin / bash echo "Kumusta $ 1, kumusta ka?"
I-save ito sa pangalan ng hoy
Ang script ay binibigyan ng pahintulot sa pagpapatupad at magiging sapat lamang ito upang tawagan ito mula sa terminal
$ hello wada # Ipapakita nito ang mensahe Kumusta wada, kumusta ka?
Kaya sa mabilis na trick na ito maaari mong patakbuhin ang iyong mga script nang mas mabilis
Iyon lang para sa ngayon ang mga taong maayos na 🙂
PS Paumanhin sa mga pagkakamali, kung meron man, pumikit na ang aking mga mata hahaha 😀
Matagal na ako sa bash isyu at hindi ko naintindihan ang mga pagpapalawak ng mga ito, salamat.
Sa trick ng landas, ang Fedora bilang default ay gumagawa ng katulad nito ngunit sa "~ / .local / bin", tingnan ang isang snippet mula sa bash_profile na dinala ko kay Jessie.
PATH = $ PATH: $ HOME / .local / bin: $ HOME / basurahan
i-export ang PATH
Mayroon akong ilang mga alalahanin:
1. Paano ko makukuha sa kanya na bigyan ako ng dalawang agwat na may paglawak ng mga puntos; edad na {1..24,55..90} at pinalawak ko ang edad mula 1 hanggang 24 at nagpapatuloy sa 55 hanggang XNUMX. tulad ng ginawa ko hindi ito gumana. Bakit?
2. Kung nais kong maging walang bisa ang unang halaga at magpatuloy sa pagnunumero:
wget: http://manga.favorito / imahe http://manga.favorito/imagen1
Sinubukan ko ang sumusunod na paraan ngunit hindi nakuha: http://manga.favorito/imagen{, 1..42} Ayon sa akin, kakailanganin kong iwanan ang unang pangalan nang walang isang numero at magpatuloy sa pagnunumero mula 1 hanggang 42 ngunit hindi ganoon. Bakit?
Tama ang ilang mga distrito mayroon o nagkaroon ng .bin ngunit para sa lahat na maunawaan at makita na posible na gawin ito sa anumang distro: D, Salamat sa pagtigil.
Napakahusay na napakahusay para sa mga kontribusyon ng kaalaman sa mundo ng linux at ang seguridad nito, ilang Biyernes inaasahan kong mabasa ko kung paano i-format ang isang pendrive sa isang terminal at magsunog ng isang imahe ng DVD / CD ng anumang libreng system sa isang terminal.
Salamat sa iyong mga salita kapatid 😀 Ipinapangako ko sa susunod na Biyernes gagawin ko ang post na iyon. At dapat isa tungkol sa pagpapasadya ng Vim hahaha ngunit hindi ko nais na isipin nila na saklaw lamang nito si Vim.
Mahusay na artikulo ng terminal, ang pinakamahusay na nabasa ko sa mahabang panahon, na binibilang ang maraming mga blog na naglalathala ng mga tutorial ng ganitong istilo. Maraming salamat!!
Maraming salamat 😀 Susubukan kong makasabay.
Mahusay na Tip ng Lokal na bas!
Pagbati!
Magaling, mahusay na ito ay kapaki-pakinabang sa iyo, maraming salamat sa pagpasa sa kapatid 😀
Napakahusay! Walang ideya tungkol dito. Salamat 🙂
Maligayang pagdating kapatid salamat sa iyo sa paglalaan ng oras upang basahin ito 😀
Mayroon akong ilang mga alalahanin:
1. Paano ko makukuha sa kanya na bigyan ako ng dalawang agwat na may paglawak ng mga puntos; edad na {1..24,55..90} at pinalawak ko ang edad mula 1 hanggang 24 at nagpapatuloy sa 55 hanggang XNUMX. tulad ng ginawa ko hindi ito gumana. Bakit?
2. Kung nais kong maging walang bisa ang unang halaga at magpatuloy sa pagnunumero:
wget: http://manga.favorito/imagen http://manga.favorito/imagen1
Sinubukan ko ang sumusunod na paraan ngunit hindi nakuha: http://manga.favorito/imagen{, 1..42} Ayon sa akin, kakailanganin kong iwanan ang unang pangalan nang walang isang numero at magpatuloy sa pagnunumero mula 1 hanggang 42 ngunit hindi ganoon. Bakit?
* Paumanhin ngunit inilagay ko ang unang post bilang isang sagot at mali ito sa ilang bahagi
1.- Mali ang iyong lohika kailangan mo itong pugad hahaha subukan mo
$ echo {{1..24},{55..90}}
2.- Parehas sa naunang ...
$ echo "URL"{,{1..42}}
Huwag kang magalala kuya, nandito kami upang tulungan kami 🙂
Upang palitan ang para sa echo magiging ganito ang hitsura
echo ang "Ang numero ko" {1..5} $ '\ n' | sed -e: a -e '$! N; s / \ n / \ n /; ta' | sed -e: a -e '$! N; s / 5 \ n / 5 /; ta'
pero mas gusto ko ang printf
printf "I, I% d \ n" {1..5}
at gamitin ang parehong konsepto ng pangunahing pagpapalawak
atte
jvk85321
Paano mo mailalagay ang mga kahon ng terminal ????
atte
jvk85321
Pagsubok kung gumagana ang code tag
hehe
Upang palitan ang para sa echo magiging ganito ang hitsura
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}
at gamitin ang parehong konsepto ng pangunahing pagpapalawak
atte
jvk85321
Naiwan ako sa ilang mga bug ngunit gumana ito
Nabubuhay ako ng maluco
Pasensya na sa nakakaabala
atte
jvk85321
Hahaha sinagot mo ang sarili mo ngunit kung nasa pagitan ng mga etiketa
walang puwang ...
At sa pagpapalit ng para sa hindi kinakailangan na gumawa ng labis na tubo hahahaha sapat sa:
echo -e "Mi numero "{1..5}"\n\b"
Upang maging matapat na printf ay ang pinakamahusay na paraan upang mag-print ng teksto sa mga script, ito ay mas portable ngunit ayon sa kaugalian ay gumagamit ng echo.
Kinukuha ko ang mga puwang! hahahahaha
tingnan natin ngayon 😀
Fuck ito ay "mas mababa sa" code "na mas malaki kaysa sa" "mas mababa sa" / code "mas malaki kaysa sa" hahahaha
Ang problema na echo -e ay hindi pamantayan, kaya't hindi ito gumagana sa lahat ng mga system.
Lumabas din na magulo
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:~$
At kasama nito
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:~$
Sa palagay ko ang pangalawa ay nagpapakita ng mas mahusay na resulta, hahaha
atte
jvk85321
Ang mga label na ito ay isang bummer, he, tingnan natin kung gumagana ang mga ito ngayon
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:~$
At kasama nito
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:~$
Sa palagay ko ang pangalawa ay nagpapakita ng mas mahusay na resulta, hahaha
atte
jvk85321
Gayunpaman, iwanan ang mga puwang sa pagitan ng mga linya, iyon ang dahilan kung bakit galit ako sa html, hahahaha
Napakahusay! Pumalakpak ako sa paa mo haha
Hindi ko alam na ang mga key ay maaaring mapugad, dahil hindi ko kailanman sinubukan na gamitin ang mga ito, talagang nakakatipid ito ng maraming code at mas nababasa din sa ganitong paraan. Salamat!
Salamat sa iyo sa pagpasa ng kapatid, natutuwa akong kapaki-pakinabang ito
Malugod ka, iyon ang narito para sa atin, upang ibahagi at mag-ambag ng mga ideya. Hindi ko alam kung paano mag-program, nagawa ko lang ang ilang mga bagay sa Bash at nai-publish ko sa dalawang post ang ilang mga script na ginawa ko. Sa palagay ko ang pagkakaalam nito ay maaaring gawing mas madaling maunawaan ang code.