Írásban scripteket bash - hogyan lesz egy programozó
Minden Bash-script kell kezdeni a következő sorokat:
Védelmet nyújt a két gyakori hibák
1) megpróbálja használni nem deklarált változókat
2) Ha nem végzi el a mentőcsapatok
Ha a csapat a végén a sürgősségi és elégedettek vagyunk, akkor a következő kódot:
Nem szabad elfelejteni, hogy néhány csapat nem tért vissza a baleset, mint a „mkdir -p” és „rm -f”.
Mivel van egy nehézség hívó alprogram láncok (parancs1 | parancs 2 | command3) egy script, hogy megkerülje ezt a korlátozást, akkor az alábbi szerkezetet:
Bash lehetővé teszi, hogy bizonyos funkciókat, mint a normális parancsokat, ez nagyban javítja az olvashatóságot a kódot:
1. példa:
Próbálja mozgatni az összes kódot függvényében így csak globális változók / állandók és a hívás «fő» funkció, amely az összes magas szintű logika.
Bash lehetővé teszi, hogy állapítsa meg a változók többféle, a legfontosabb:
local (változók belül használt funkciók)
readonly (változók, amelyek átváltoztató kísérlet hibát eredményez)
Lehetőség van, hogy a változó csak olvasható típusú már bejelentett:
Törekedjen arra, hogy az összes változót akár helyi, vagy csak olvasható, akkor javul az olvashatóság és a hibák csökkentése.
Használja a $ () helyett fordított aposztróffal "
Fordított aposztróffal nehezen olvasható, és egyes betűtípusok könnyen összetéveszthető egyszeres idézőjeleket.
Építése a $ () is lehetővé teszi, hogy egymásba ágyazott nélkül fejfájás szűrés:
Használata kettős szögletes zárójelben [[]] helyett egyetlen []
Dupla szögletes lehetővé teszi, hogy elkerüljük a nem rendeltetésszerű használat módja a változók helyett:
Bizonyos esetekben, egyszerűsítik a szintaxis:
Valamint további funkciók:
- || Logikai OR (logikai vagy) - Csak a kettős zárójelbe.
- Logikai ÉS (logikai és) - csak a kettős zárójelbe.
- <Сравнение строковых переменных (string comparison) — с двойными скобками экранирование не нужно.
- == összehasonlítjuk húr változók helyettesítési (string egyeztették formátumú keresési) - csak a kettős zárójelbe.
- =
Összehasonlítása húrok a reguláris kifejezések (string illeszkedő reguláris kifejezések) - csak a kettős zárójelbe.
- -Digitális LT-összehasonlítás (numerikus összehasonlítás)
- -n string változó nem üres (karakterlánc nem üres)
- -Z egy string változó üres (string üres)
- -eq digitális egyenlőség (numerikus egyenlőség)
- -ne digitális egyenlőtlenség (numerikus egyenlőtlenség)
Kezdve 3.2 változat a bash reguláris kifejezések, vagy kifejezést a cserét nem kell idézőjelbe, ha a kifejezés tartalmaz szóközöket, akkor tedd az expanziós változók:
Összehasonlítva húr változók helyettesítése azonos áll abban az esetben nyilatkozatot:
Munka húr változó:
A bash beépített több (alulértékelt) munkalehetőség zsineggel változó:
bázis:
Cseréje helyettesítés:
Törlése helyettesítés:
# Vegyük le a rajthoz, hogy az első mérkőzésen
# Távolítsuk el a húr a kezdetektől az utolsó mérkőzés
# Vegyük ki a végén sor, az első mérkőzés
# Vegyük ki a végén az utolsó sorig mérkőzés
Megszabadulni az ideiglenes fájlokat
Néhány csapat várhatóan bemeneti fájl neve velük, segítünk az üzemeltető<()’, он принимает на вход команду и преобразует в нечто что можно использовать как имя файла:
# Két Urla letölthető, és átadják a diff
Egy marker átvitelére multi-változók:
# MARKER - bármilyen szót.
Ha azt szeretnénk, hogy ne helyettesítés, a marker ajánlható:
# Tervezési visszatér „$ valtozo” helyett a változó értékét
beépített változó
- $ 0 szkript nevét (szkript nevét)
- $ 1 $ 2 ... $ n átadott paraméterektől a script / fnuktsiyami (pozicionális paraméterek script / funkció)
- Script $$ PID (PID a script)
- $! PID Az utolsó parancs végrehajtása a háttérben (PID az utolsóként kiadott parancs (és a háttérben fut))
- $? Az állapot által visszaadott utolsó parancs (exit status az utolsó parancs ($ a futószalag parancsok))
- $ # Paraméterek száma át a script / funkció (több paraméter script / funkció)
- $ @ Minden átadott paramétereket, a script / funkció formájában mutatják be a szavak (látja érveket külön szó)
- $ * Átadott paramétereknek a script / funkció formájában bemutatott egy szó (látja érveket, egyetlen szó)
- Általános szabály:
- $ * Ez ritkán hasznosak
- $ @ Megfelelően kezeli üres paraméterek és paraméterek terek
- $ @ Használata esetén általában idézőjelbe - „$ @”
szintaktikai ellenőrzés (időt takarít meg, ha a szkript a 15 másodpercnél hosszabb ideig):
Nyomon követése a nyilvánosságra hozatal a komplex parancsokat:
Paraméterek -v -x opció állítható be a kódot, akkor hasznos lehet, ha a szkript fut ugyanazon a gépen, és a fakitermelés zajlik, a másik:
Jelek, hogy ne használja shell script:
- A szkript tartalmaz több, mint néhány száz sor.
- Szüksége adatszerkezetek, bonyolult hagyományos tömbök.
- Ön zadolbalo részt fajtalanságodat idézetekkel és árnyékolás.
- Meg kell feldolgozni / változtatni egy csomó szálakat.
- Nem kell, hogy hívja a harmadik féltől származó programok, és nincs szükség a cső.
- Mert te a sebesség / teljesítmény.