A Brace-bővítés hasznos technika, amely olyan karakterláncok listáját generálja, amelyek szkriptekben és álnevekben és a Linux parancssorban használhatók. Időt takarít meg és elkerülje a hibákat a kevesebb beírásával.
Brace bővítés
A Bash Shell előtt végrehajtja a parancsot A terminál ablakban vagy egy sorban lévő sorban ellenőrzi, hogy szükség van-e a parancsot a parancsra. A változó neveket az értékük váltja fel, az álneveket helyettesítik azoknak a parancsoknak, amelyekre szükség van, és bármilyen bővítést végeznek. A Brace Expansion a Bash által támogatott bővítés egyik formája.
A Brace-bővítés a modern kagylókban kapható, de lehet, hogy hiányozhat néhány régi kagylóból. Ha a Scripts brace bővítését fogja használni, győződjön meg róla, hogy egy héjat támaszt, amely támogatja a zárójelét, például a bash:
A példákhoz bash-et használunk.
A karakterláncok létrehozása sokkal újdonságnak tűnhet, mint egy előny, de olyan funkcionalitást kínál, amely időt és billentyűleütéseket takaríthat meg. Gyakran előírhat egy egyszerű és elegáns megoldást a problémára vagy a követelményre.
Egyszerű bővítések
A záróbővítés egy "{}" zárójelek között van. Ez lehet a vesszővel elválasztott elemek vagy a tartományi specifikátor listája. A gerincek belsejében nem engedélyezett terek, hacsak nem csomagolta a karakterláncot az idézőjelekbe "
"
. "
A vesszővel elválasztott listához a bővítési folyamat mindegyik elemet viszont viszont, és átadja a hívó parancsra. Ebben a példában ez az
visszhang
egyszerűen
kinyomtatja őket a terminálablakba
. Ne feledje, hogy a vesszőket figyelmen kívül hagyják.
Echo {egy, két, három, négy}
A lista szavak vagy számok lehetnek.
Echo {1,2,3,4}
A listaelemek sorrendje teljesen önkényes.
Echo (4,2,3,1)
A tágulási tartomány kezdete és a két periódushoz kapcsolódó végereje "
..
"A szóköz nélkül. Az összes hiányzó listaelem automatikusan megadja a bővítést, hogy a kezdeti karaktertől a végső karaktertől való teljes tartomány létrejön.
Ez az 1-10-es számjegyeket kinyomtatja.
echo {1..10}
A számozás önkényes. Nem kell elkezdeni egy.
Echo {3..12}
A tartományok meghatározhatók, hogy hátrafelé futhassanak. Ez egy listát öt lefelé generál.
Echo {5..1}
A tartományok negatív számokat tartalmazhatnak.
Echo {4 ..- 4}
Ahogy korábban rámutattunk, egy tartomány kezdő és vége van karakter . Nem kell számnak lennie. Lehet, hogy levél.
echo {q..v}
A betűk is visszafelé futhatnak.
echo {f..a}
A zárójelek hurkokkal történő bővítése
A scriptokban hurkokba tartozó tartományokkal ellátott záróbővítést használhat.
i {3..7}
tegye
echo $ i
Kész
A Brace Expansion tartományok lehetővé teszik a karaktert a hurok változójaként.
az i {m..q}
tegye
echo $ i
Kész
Loops általában használt scriptek, de semmi, hogy meggátolja beírja azokat a parancssorban, hogy mi fog történni.
i {3..7} -ben; az echo $ i; Kész
az i {m..q} -ban; az echo $ i; Kész
Concatening és fészkelés
Két szomszédos bővítés nem cselekszik egymástól függetlenül egymás után. Interneratívak. Az első bővítés minden egyes eleme a második bővítés minden egyes elemén szerepel.
echo {q..v} {1..3}
A bővítések beágyazódhatnak. A beágyazott bővítés a közvetlenül megelőző elemen jár el.
Echo {1. rész, 2. rész {A, B, C, D}, 3. rész}
A bővítéseket is fészkelhet a vessző által elhatárolt tartományos bővítések listájának létrehozásával.
echo {{5..0}, {1..5}}
Preambulum és PostScript
A szöveges bővítés előtt és után szöveget helyezhet el, hogy a bővítés eredményeiben szerepeljen. A tágulást megelőző szöveget preambulumnak nevezik, míg a Brace bővítés mögött elhelyezett szöveget a PostScript nevezik.
Ez a parancs preambulumot használ.
Echo Fejezet {1..3}
Ez a példa PostScript:
Echo {Tartalom, papír, bilbiográfia} .md
És ez a parancs mindkettőt használ.
Echo fejezet - {1..4} .md
A fájlnevek és könyvtárak bővítése
Ahogy már bizonyára kitalálta már, az egyik fő felhasználási zárójel bővítések, hogy megteremtse a fájl és könyvtár neveket lehet átadni más parancsokat. Használtunk
visszhang
Kényelmes módja annak, hogy pontosan megnézzük, mi történik, ha egy bővítést indítanak. A fájlneveket vagy a könyvtárneveket beviteli parancsként helyettesítheti, és használhatja a zárójelesítést.
Gyorsan
Hozzon létre néhány fájlt
használat
érintés
:
Érintse meg a File- {1..4} .txt
LS * .txt
Ha sok fájl azonos nevű, de eltérő fájl típusokat és szeretne végrehajtani egy műveletet részüket, merevítő bővítések segíthet. Itt vagyunk összenyomjuk egy részhalmaza a fájlokat, melyek „program”, mint a basename egy ZIP fájlt a „source-code.zip.”
A fejlesztési könyvtárak sok olyan fájlt tartalmaznak, amelyeknek ugyanaz a BASEAME lesz a fő programod. Általában nem szeretné biztonsági másolatot készíteni vagy terjeszteni a fájlokat, mint a ".O" objektumfájlok. Ez egy szép módja annak, hogy csak az érdeklődési típusokat tartalmazza.
Zip forrás-kód program {.c, .h, .css}
Ez a parancs egy másolatot készít egy fájlról és ".bak" hozzáadására, így az eredeti fájl biztonsági másolatát. Érdekes pont, hogy megjegyezzük, hogy a Brace-bővítés vesszővel elválasztott listát tartalmaz, de az első elem üres. Ha nem vesszük fel a vesszőt, a bővülés nem történt volna meg.
CP Brace / New / Prog-1.c {,. Bak}
LS Brace / New / Prog-1.c.bak
Ahhoz, hogy valamilyen műveletet végeznek a két fájlt a különböző könyvtárak, fel tudjuk használni egy merevítő bővülés az utat a fájlokat.
Ebben a példában a "Brace" könyvtár két alkönyvtárat tartalmaz, egy úgynevezett "új" és az úgynevezett "régi". A forráskód fájlok különböző verzióit tartalmaznak. Használjuk a
diff
a "PROG-1.C" két változat közötti különbségeket.
Diff Brace / {New, Old} /ProG1.c
Ha rendelkezik egy szabványos alkotóelemekkel, amelyeket létre kell hoznia egy projekt kezdetén, akkor gyorsan létrehozhatja őket a zárójelben. Az
mkdir
-P
(Szülő) opció
Hiányzó szülői könyvtárakat hoz létre
amikor egy gyermekkönyvtár létrehozása.
MKDIR -P {forrás, építés, férfi, súgó {/ Pages, / yelp, / képek}}
Fa
A Brace bővítést használhatja
rángatózó
nak nek
Több fájl letöltése
.
Ebben a parancsban két könyvtárból fogunk letölteni a "Test1" és a "Test2" című fájlokat. Minden könyvtár két "Picture1" és "Picture2" fájlt tartalmaz.
wget https://www.url-of-your-choice.com/test Andest{1,2 }/picture [pictureLE-001,002}.jpg
A fájlok felsorolása megmutatja a letöltött fájlokat és hogyan
rángatózó
Átnevezi a fájlokat, hogy elkerülje a meglévő fájlokkal való összecsapásokat.
LS kép *. *
Ölelje fel a zárót
Úgy tűnik, hogy a Brace-bővítés egy másik Linux legmegfelelőbb titkai . Sokan azt mondják, hogy soha nem hallottak a brace bővüléséről, míg mások tájékoztatják, hogy ez az egyik kedvenc parancssori trükkök.
Adj egy próbát, és csak lehet, hogy megtalálja az utat a parancssori sorba, hogy a trükkök.