Í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.

Kapcsolódó cikkek