Tilgå Specifikke Argumenter fra Tidligere Kommandoer i Bash - Guide og Eksempler

Findes der en måde i Bash til at tilgå et specifikt argument fra en tidligere kommando i stedet for alle argumenterne?

Tilgå et specifikt argument fra en tidligere kommando i Bash kan gøres ved hjælp af historikudvidelse og parameterudvidelse, som giver mulighed for at referere til tidligere input og deres argumenter.

Tilgå et specifikt argument fra en tidligere kommando i Bash

Ja, i Bash findes der måder at tilgå specifikke argumenter fra en tidligere kommando. Dette kan være nyttigt, når du ønsker at genbruge eller manipulere bestemte dele af tidligere input. Her er nogle metoder til at gøre dette:

  • Historikudvidelse: Bash har en funktion kaldet historikudvidelse, som kan bruges til at tilgå tidligere kommandoer og deres argumenter.
    • !$: Refererer til det sidste argument fra den forrige kommando.
    • !^: Refererer til det første argument fra den forrige kommando.
    • !<n>: Refererer til det n-te argument fra den forrige kommando, hvor <n> er argumentets position.
    • !!: Refererer til hele den forrige kommando.
  • Parameterudvidelse: Du kan også bruge parameterudvidelse til at tilgå specifikke argumenter.
    • ${!n}: Refererer til det n-te argument fra den forrige kommando, hvor n er argumentets position.

Her er nogle eksempler på, hvordan du kan bruge disse metoder:


# Eksempel på historikudvidelse
$ echo foo bar baz
$ echo !^   # Output: foo
$ echo !$   # Output: baz
$ echo !:2  # Output: bar

# Eksempel på parameterudvidelse
$ set -- foo bar baz
$ echo ${!1}  # Output: foo
$ echo ${!2}  # Output: bar
$ echo ${!3}  # Output: baz

Ved at bruge disse metoder kan du nemt tilgå og manipulere specifikke argumenter fra tidligere kommandoer i Bash.