Ensinnäkin haluaisin pyytää anteeksi, koska viime perjantaina en voinut kirjoittaa viestiä, joten tänään lisätään ylimääräinen korvaamaan kadonneen päivän. 🙂
Ahdinlaajennus
Espanjassa avainlaajennus näyttää minusta olevan innoittamana toiminto C Kuori, tämä luo yhdistelmiä aaltosulkeissa syötettyjen merkkien välillä, sen käyttämä järjestys on vasemmalta oikealle. Se ei ole lainkaan monimutkainen, mutta se on vaihtoehto, joka on erittäin hyödyllinen GNU / Linux-kiertueillamme.
esimerkiksi:
$ kaiku a {1,2,3} a1 a2 a3
Kun käytetään pilkkuja (,) luo yhdistelmiä arvon a ja aaltosulkeissa olevien arvojen välillä. Jos avainten ulkopuolella ei ole arvoa, se näytetään vain kerran jokainen arvo, jonka avain sisältää.
$ echo {a, b, c} abc
Sen käyttö ei ole lainkaan monimutkaista, on muitakin yleisempiä esimerkkejä, kuten useiden hakemistojen luominen kansioon
$ mkdir ~ / Työpaikat / {yksi, kaksi, kolme, neljä, viisi}
Tämä luo viisi kansiota työkansioon, se on kuin syötettäisiin yksi komento kerrallaan. Viiden hakemiston luominen.
Laajentuminen tapahtuu kahdella pisteellä .. Tämä luo sarjan numeroita tai merkkejä, jotka siirtyvät alkuperäisestä arvosta lopulliseen arvoon, älä käytä numeroita kirjaimilla.
$ echo {1..5} #Oikea 1 2 3 4 5 $ echo {a..f} #Oikea abcdf $ echo {a..5} #Väärä {a..5} # Mielestäni en koskaan saa tottunut tähän kirjeen siniseen väriin
Voimme säästää aikaa luomalla syklin varten
# Sen sijaan, että kirjoitat $ ((i = 1; i <= 5; i ++)): lle; tee kaiku "Oma numero $ i"; valmis Oma numero 1 Oma numero 2 Oma numero 3 Oma numero 4 Oma numero 5 #Tallenna koodi käyttämällä aaltosulkeinta. $ for i kohdassa {1..5}; do echo "Oma numero $ i; valmis Oma numero 1 Oma numero 2 Oma numero 3 Oma numero 4 Oma numero 5 #Tietysti on kelvollinen käyttää, vaikka lähtö on erilainen. $ echo" Oma numero "{1..5} Oma numero 1 Oma numero 2 Oma numero 3 Oma numero 4 Oma numero 5
Luulen, että käsite on selkeä, haha kommentoin vain, että se on yhdistettävissä ja sisäkkäin.Mitä tarkoitan tällä?
Yhdistettävissä, että voimme liittää yhden tai useamman avaimen
$ echo {a..c} {1..3} a1 a2 a3 b1 b2 b3 c1 c2 c3
Pesimisen aikana, kuten monet kuvittelevat, voit käyttää laajennusavaimia laajennusavainten sisällä
$ echo {a, c {1..3}, d} a c1 c2 c3 d
Ja lopulta Bash EI MITÄÄN arvoja on mahdollista nostaa.
$ echo {0..20..2} 0 2 4 6 8 10 12 14 16 18 20
Tämä on kaikki tänään, joten kiitos, kun lukit minulle ihmisiä 🙂
Lisää
Paikallisen roskakorin luominen
Kun sanon a astia paikallinen tarkoitan hakemistoa, jossa meillä on omat komentosarjamme ja ne on mahdollista suorittaa yksinkertaisella komennolla ...
Tämän saavuttaminen on suhteellisen helppoa, sinun on ensin luotava hakemisto, johon tallennamme komentosarjat.
mkdir ~ / .bin # Tässä esimerkissä se piilotetaan
Nyt meillä on kansiomme skriptien tallentamiseksi, mutta se ei toimi, ennen kuin lisätään uuden .bin polku tiedostoon $ PATH
Tätä varten tiedostoa muokataan bash_profiili, ja rivi lisätään.
vie PATH = $ PATH: ~ / .bin
Ja voila, joka riittää paikallisen lokeron luomiseen, tietysti se pyytää pääkäyttöoikeuksia tarvittaessa pikakoodin kirjoittamiseen.
#! / bin / bash kaiku "Hei $ 1, kuinka voit?"
Tallenna se nimellä hei
Skriptille annetaan suorituslupa, ja se riittää vain soittamaan sille päätelaitteesta
$ hei wada #Tässä näkyy viesti Hei wada, kuinka voit?
Joten tällä nopealla temppulla voit suorittaa komentosarjat nopeammin
Se on kaikki nykypäivän ihmisille, jotka ovat hyvin 🙂
PS Anteeksi virheistä, jos on, silmäni ovat jo kiinni hahaha 😀
Olen ollut bash-kysymyksessä pitkään, enkä ollut ymmärtänyt näitä ahdinlaajennuksia, kiitos.
Polkutempussa Fedora tekee oletuksena jotain tällaista, mutta "~ / .local / bin" -kohdassa, katso katkelma bash_profile-tiedostosta, jonka toin Jessielle.
PATH = $ PATH: $ HOME / .local / bin: $ HOME / bin
viedä PATH
Minulla on joitain huolenaiheita:
1. Kuinka saan hänet antamaan minulle kaksi aikaväliä pisteillä laajenemalla; ikä {1..24,55..90} ja että laajennan ikää 1: stä 24: een ja jatkan 55: stä yhdeksänkymmeneen. kuten tein, se ei toiminut. Miksi?
2. Jos haluan ensimmäisen arvon olevan nolla ja jatkan numerointia:
wget: http://manga.favorito /kuva http://manga.favorito/imagen1
Yritin seuraavalla tavalla, mutta wget ei saanut: http://manga.favorito/imagen{, 1..42} Minun on pakko jättää etunimi ilman numeroa ja jatkaa numeroinnilla 1: stä 42: een, mutta se ei ollut sellainen. Miksi?
Olet oikeassa joillakin distroilla on tai on ollut .bin, mutta se on niin, että kaikki voivat ymmärtää ja nähdä, että se on mahdollista tehdä missä tahansa distrossa: D, kiitos, että pysähdyit.
Erittäin hyvä, erittäin hyvä näille Linux-maailmaan ja sen turvallisuuteen liittyville tiedoille, jonain perjantaina toivon voivani lukea kuinka alustaa pendrive päätelaitteessa ja polttaa iso DVD / CD-kuva mistä tahansa ilmaisesta järjestelmästä päätelaitteessa.
Kiitos sanoistasi veli 😀 Lupaan, että ensi perjantaina teen sen. Ja minun on tehtävä yksi Vimin mukauttamisesta hahaha, mutta en halunnut heidän ajattelevan, että se kattaisi vain Vimin.
Erinomainen pääartikkeli, paras, jonka olen lukenut pitkään aikaan, lukemalla useita blogeja, jotka julkaisevat tämän tyyppisiä opetusohjelmia. Kiitos paljon!!
Paljon kiitoksia 😀 Yritän pysyä mukana.
Erinomainen paikallisen lokeron vinkki!
Tervehdys!
Erinomainen, hienoa, että siitä on sinulle hyötyä, kiitos paljon ohittaneesta veljestäsi 😀
Oikein hyvä! Ei aavistustakaan tästä. Kiitos 🙂
Olet tervetullut veli, kiitos kiitoksestasi sen lukemiselle
Minulla on joitain huolenaiheita:
1. Kuinka saan hänet antamaan minulle kaksi aikaväliä pisteillä laajenemalla; ikä {1..24,55..90} ja että laajennan ikää 1: stä 24: een ja jatkan 55: stä yhdeksänkymmeneen. kuten tein, se ei toiminut. Miksi?
2. Jos haluan ensimmäisen arvon olevan nolla ja jatkan numerointia:
wget: http://manga.favorito/imagen http://manga.favorito/imagen1
Yritin seuraavalla tavalla, mutta wget ei saanut: http://manga.favorito/imagen{, 1..42} Minun on pakko jättää etunimi ilman numeroa ja jatkaa numeroinnilla 1: stä 42: een, mutta se ei ollut sellainen. Miksi?
* Anteeksi, mutta laitoin ensimmäisen viestin vastaukseksi ja se oli väärä joissakin osissa
1.- Logiikkasi on väärä, sinun täytyy pestä se hahaha yrittää
$ echo {{1..24},{55..90}}
2.- Sama kuin edellinen ...
$ echo "URL"{,{1..42}}
Älä huoli veli, olemme täällä auttaaksemme meitä 🙂
Korvaa for kaiku näyttää se tältä
kaiku "Oma numero" {1..5} $ '\ n' | sed -e: a -e '$! N; s / \ n / \ n /; ta' | sed -e: a -e '$! N; s / 5 \ n / 5 /; ta'
mutta mieluummin printf
printf "I, I% d \ n" {1..5}
ja käytä samaa avainlaajennuksen käsitettä
Atte
jvk85321
Kuinka laitat liitäntäkotelot ????
Atte
jvk85321
Testataan, toimiiko kooditunniste
hehe
Korvaa for kaiku näyttää se tältä
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 käytä samaa avainlaajennuksen käsitettä
Atte
jvk85321
Minulle on jäänyt joitain vikoja, mutta se toimi
Asun malucossa
Anteeksi että häiritsen
Atte
jvk85321
Hahaha vastasit itse, mutta jos se on tarrojen välissä
ei välejä ...
Ja korvaamisen vuoksi ei ole tarpeen tehdä niin paljon putkea hahahaha tarpeeksi:
echo -e "Mi numero "{1..5}"\n\b"
Ollakseni rehellinen, printf on paras tapa tulostaa tekstiä skripteinä, se on kannettavampi, mutta perinteisesti käyttää kaikua.
Otan tilat! hahahahaha
katsotaan nyt 😀
Vittu se on "vähemmän kuin" koodi "suurempi kuin" "alle" / koodi "suurempi kuin" hahahaha
Ongelma, että kaiku -e ei ole vakio, joten se ei toimi kaikissa järjestelmissä.
Myös tulee sotkuinen
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 tämän kanssa
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:~$
Mielestäni toinen esittää tuloksen paremmin, hahaha
Atte
jvk85321
Nämä tarrat ovat bummer, hehehe, katsotaanpa, toimivatko ne nyt
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 tämän kanssa
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:~$
Mielestäni toinen esittää tuloksen paremmin, hahaha
Atte
jvk85321
Jätä joka tapauksessa rivien väliset välit, siksi vihaan html: tä, hahahaha
Erinomainen! Tapun jalkasi haha
En tiennyt, että avaimet voidaan sisäkkäin, koska en ole koskaan yrittänyt käyttää niitäkaan, se todella säästää paljon koodia ja on myös helpommin luettavissa tällä tavalla. Kiitos!
Kiitos, että ohitit veljen, olen iloinen siitä, että siitä oli hyötyä
Olet tervetullut, siksi olemme täällä jakamassa ideoita ja jakamassa niitä. En tiedä miten ohjelmoida, tein vain pari asiaa Bashissa ja julkaisin kahdessa viestissä joitain käsikirjoituksia, jotka tein. Mielestäni tämän tietäminen voi tehdä koodista helpommin ymmärrettävän.