72 Stimmen

Versteckte Funktionen der Bash

Shell-Skripte werden oft als Klebstoff für die Automatisierung und einfache einmalige Aufgaben verwendet. Was sind Ihre bevorzugten "versteckten" Funktionen der Shell/Skriptsprache Bash?

  • Ein Merkmal pro Antwort
  • Geben Sie ein Beispiel und eine kurze Beschreibung der Funktion, nicht nur einen Link zur Dokumentation
  • Beschriften Sie das Merkmal mit einem fettgedruckten Titel in der ersten Zeile

Siehe auch:

69voto

chillitom Punkte 23318

den letzten Parameter der vorangegangenen Zeile einfügen

alt - . die nützlichste Tastenkombination aller Zeiten, probieren Sie es aus, denn aus irgendeinem Grund kennt sie niemand.

drücken Sie die Taste immer wieder, um ältere letzte Parameter auszuwählen.

ideal, wenn Sie etwas anderes mit etwas machen wollen, das Sie gerade eben noch benutzt haben.

40voto

Alex Reynolds Punkte 93906

Wenn Sie einen Prozess nach der Abmeldung weiterlaufen lassen wollen:

disown -h <pid>

ist eine nützliche Bash-Integration. Anders als nohup können Sie Folgendes ausführen disown auf einen bereits laufenden Prozess.

Stoppen Sie zunächst Ihren Job mit Control-Z, holen Sie sich die pid von ps (oder verwenden Sie echo $! ), verwenden bg um es in den Hintergrund zu schicken, dann verwenden Sie disown mit dem Flag -h.

Vergessen Sie nicht, Ihren Auftrag in den Hintergrund zu stellen, sonst wird er gelöscht, wenn Sie sich abmelden.

38voto

Vinko Vrsalovic Punkte 252104

Fast alles, was im Handbuch im Abschnitt EXPANSION aufgeführt ist

Insbesondere die Erweiterung der Parameter:

$ I=foobar
$ echo ${I/oo/aa} #replacement
faabar
$ echo ${I:1:2}   #substring
oo
$ echo ${I%bar}   #trailing substitution
foo
$ echo ${I#foo}   #leading substitution
bar

35voto

GloryFish Punkte 12547

Mein Favorit:

sudo !!

Führen Sie den vorherigen Befehl mit sudo erneut aus.

27voto

Adam Liss Punkte 46031

Mehr magische Tastenkombinationen:

  • Ctrl + r beginnt eine "inkrementelle Rückwärtssuche" durch Ihren Befehlsverlauf. Während Sie weiter tippen, wird der letzte Befehl abgerufen, der den gesamten von Ihnen eingegebenen Text enthält.

  • Tab vervollständigt das bisher getippte Wort, wenn es eindeutig ist.

  • Tab Tab listet alle Vervollständigungen für das Wort auf, das Sie bisher getippt haben.

  • Alt + * Einsätze alle möglichen Abschlüsse, was besonders hilfreich ist, wenn Sie gerade einen potenziell destruktiven Befehl mit Platzhaltern eingegeben haben:

    rm -r source/d*.c Alt + *
    rm -r source/delete_me.c source/do_not_delete_me.c

  • Ctrl + Alt + e führt die Alias-, History- und Shell-Expansion in der aktuellen Zeile durch. Mit anderen Worten, die aktuelle Zeile wird so wiedergegeben, wie sie von der Shell verarbeitet wird:

    ls $HOME/tmp Ctrl Alt + e
    ls -N --color=tty -T 0 /home/cramey

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X