Dash Wiki
Posts (Latest 10 updated) :
Read all
Contents:
  1. [Suomi] Debian Almquist Shell (dash) getopts käyttö: Komentojen käsittely
    1. Yleiskatsaus
    2. Käyttö
    3. Yleiset vaihtoehdot
    4. Yleiset esimerkit
      1. Esimerkki 1: Yksinkertainen optio
      2. Esimerkki 2: Oletusviesti tuntemattomasta optiosta
      3. Esimerkki 3: Useiden optioiden käsittely
    5. Vinkit

[Suomi] Debian Almquist Shell (dash) getopts käyttö: Komentojen käsittely

Yleiskatsaus

getopts on komento, jota käytetään komentoriviparametrien käsittelyyn shell-skripteissä. Se mahdollistaa optioiden ja argumenttien analysoinnin, mikä helpottaa käyttäjän syötteiden hallintaa.

Käyttö

Perussyntaksi getopts-komennolle on seuraava:

getopts [options] [arguments]

Yleiset vaihtoehdot

  • -a: Käytetään, kun halutaan määrittää useita optioita kerralla.
  • -l: Mahdollistaa pitkien optioiden käytön.
  • -n: Määrittää skriptin nimen, joka näkyy virheilmoituksissa.

Yleiset esimerkit

Esimerkki 1: Yksinkertainen optio

#!/bin/sh
while getopts "a:b:" opt; do
  case $opt in
    a) echo "Optio A: $OPTARG" ;;
    b) echo "Optio B: $OPTARG" ;;
    *) echo "Tuntematon optio" ;;
  esac
done

Tässä skriptissä käsitellään kahta vaihtoehtoa, -a ja -b, ja tulostetaan niiden arvot.

Esimerkki 2: Oletusviesti tuntemattomasta optiosta

#!/bin/sh
while getopts "x:y:z:" opt; do
  case $opt in
    x) echo "Optio X: $OPTARG" ;;
    y) echo "Optio Y: $OPTARG" ;;
    z) echo "Optio Z: $OPTARG" ;;
    *) echo "Virheellinen optio: -$OPTARG" ;;
  esac
done

Tässä esimerkissä skripti antaa virheilmoituksen, jos käyttäjä syöttää tuntemattoman option.

Esimerkki 3: Useiden optioiden käsittely

#!/bin/sh
while getopts "abc:" opt; do
  case $opt in
    a) echo "Optio A valittu" ;;
    b) echo "Optio B valittu" ;;
    c) echo "Optio C: $OPTARG" ;;
    *) echo "Virheellinen optio" ;;
  esac
done

Tässä skriptissä voidaan valita useita optioita, ja se tulostaa, mitkä niistä on valittu.

Vinkit

  • Käytä getopts-komentoa aina skripteissä, joissa on useita optioita, jotta syötteiden käsittely on selkeämpää.
  • Muista aina testata skriptiäsi eri syötteillä varmistaaksesi, että kaikki mahdolliset virhetilanteet on käsitelty.
  • Dokumentoi skriptisi optiot ja niiden merkitys, jotta muut käyttäjät ymmärtävät, miten niitä käytetään.