Bash Riferimento rapido


Esempio

Interazione con la storia

# List all previous commands
history

# Clear the history, useful if you entered a password by accident
history -c

Designatori di eventi

# Expands to line n of bash history
!n

# Expands to last command
!!

# Expands to last command starting with "text"
!text

# Expands to last command containing "text"
!?text

# Expands to command n lines ago
!-n

# Expands to last command with first occurrence of "foo" replaced by "bar"
^foo^bar^

# Expands to the current command
!#

Designatori di parole

Questi sono separati da : dalla designazione dell'evento a cui si riferiscono. I due punti possono essere omessi se il word designator non inizia con un numero !^ È lo stesso di !:^ .

# Expands to the first argument of the most recent command
!^

# Expands to the last argument of the most recent command (short for !!:$)
!$

# Expands to the third argument of the most recent command
!:3

# Expands to arguments x through y (inclusive) of the last command
# x and y can be numbers or the anchor characters ^ $
!:x-y

# Expands to all words of the last command except the 0th
# Equivalent to :^-$
!*

modificatori

Questi modificano l'evento precedente o il designatore di parole.

# Replacement in the expansion using sed syntax
# Allows flags before the s and alternate separators
:s/foo/bar/ #substitutes bar for first occurrence of foo
:gs|foo|bar| #substitutes bar for all foo

# Remove leading path from last argument ("tail")
:t

# Remove trailing path from last argument ("head")
:h

# Remove file extension from last argument
:r

Se la variabile di Bash HISTCONTROL contiene ignorespace o ignoreboth (o, in alternativa, HISTIGNORE contiene il modello [ ]* ), puoi impedire che i tuoi comandi vengano memorizzati nella cronologia di Bash anteponendoli con uno spazio:

# This command won't be saved in the history
 foo

# This command will be saved
bar