linux:bash
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| linux:bash [2016/06/08 21:55] – [Weblinks] move | linux:bash [2022/11/14 15:05] (aktuell) – [Tips] move | ||
|---|---|---|---|
| Zeile 2: | Zeile 2: | ||
| Die **bash** ist eine [[Shell]]. | Die **bash** ist eine [[Shell]]. | ||
| - | ===== Syntax | + | ===== Beispiele |
| + | ==== Dateien nach Größe sortiert, ausgenommen Verzeichnisse ==== | ||
| + | |||
| + | < | ||
| + | ls -ltraSh | grep -v ^d | ||
| + | insgesamt 7,1G | ||
| + | </ | ||
| ==== Dateien nach bestimmtem Muster erzeugen ==== | ==== Dateien nach bestimmtem Muster erzeugen ==== | ||
| < | < | ||
| Zeile 21: | Zeile 28: | ||
| for entry in " | for entry in " | ||
| echo $entry; | echo $entry; | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | ==== Alle Verzeichnise in einem Ordner auflisten ==== | ||
| + | Mit [[sed]], Bsp. im aktuellen Verzeichnis | ||
| + | |||
| + | < | ||
| + | for i in $(find ./ -type d | sed -e ' | ||
| + | echo $i; | ||
| done | done | ||
| </ | </ | ||
| Zeile 39: | Zeile 55: | ||
| cat / | cat / | ||
| </ | </ | ||
| + | |||
| + | //Siehe auch [[Zeilen einer Datei zählen und nach Häufigkeit sortieren]].// | ||
| ==== Dateien umbenennen ==== | ==== Dateien umbenennen ==== | ||
| Zeile 47: | Zeile 65: | ||
| //Siehe auch [[pyrenamer]].// | //Siehe auch [[pyrenamer]].// | ||
| + | |||
| + | ==== Rechnen ==== | ||
| + | < | ||
| + | expr 1 + 1 | ||
| + | expr 2 - 1 | ||
| + | expr 4 \* 2 | ||
| + | expr 4 / 2 | ||
| + | </ | ||
| + | |||
| + | ==== Inhalt einer Datei in Variable schreiben ==== | ||
| + | |||
| + | > value=`cat file.txt` | ||
| + | |||
| + | ==== Bash und JSON ==== | ||
| + | //Siehe [[jq]].// | ||
| + | |||
| + | ==== Programmausgabe umleiten ==== | ||
| + | stdout in Datei umleiten | ||
| + | |||
| + | < | ||
| + | test.sh > Datei.txt | ||
| + | </ | ||
| + | |||
| + | stderr in Datei umleiten | ||
| + | |||
| + | < | ||
| + | test.sh 2> Datei.txt | ||
| + | </ | ||
| + | |||
| + | stdout und stderr in Datei umleiten | ||
| + | |||
| + | < | ||
| + | test.sh &> Datei.txt | ||
| + | </ | ||
| + | |||
| + | stdout und stderr jeweils in eigene Datei umleiten | ||
| + | |||
| + | < | ||
| + | test.sh > Datei_stdout.txt 2> Datei_stderr.txt | ||
| + | </ | ||
| + | |||
| + | stdout in stderr umleiten | ||
| + | |||
| + | < | ||
| + | test.sh 1>&2 | ||
| + | </ | ||
| + | |||
| + | stderr in stdout umleiten | ||
| + | |||
| + | < | ||
| + | test.sh 2>&1 | ||
| + | </ | ||
| + | |||
| + | ==== brace expansion ==== | ||
| + | Listen mit Komma getrennt | ||
| + | < | ||
| + | echo {I, | ||
| + | </ | ||
| + | Ausgabe: | ||
| + | > I like bash programming | ||
| + | |||
| + | Weiteres Beispiel: | ||
| + | < | ||
| + | echo {I, | ||
| + | </ | ||
| + | Ausgabe: | ||
| + | > Ibash Iprogramming likebash likeprogramming | ||
| + | |||
| + | Bereiche | ||
| + | < | ||
| + | echo {50..60} | ||
| + | </ | ||
| + | Ausgabe: | ||
| + | > 50 51 52 53 54 55 56 57 58 59 60 | ||
| + | |||
| + | Weiteres Beispiel: | ||
| + | < | ||
| + | echo {A..C}{1..3} | ||
| + | </ | ||
| + | Ausgabe: | ||
| + | > A1 A2 A3 B1 B2 B3 C1 C2 C3 | ||
| + | |||
| + | Preamble | ||
| + | < | ||
| + | echo b{all, | ||
| + | </ | ||
| + | Ausgabe: | ||
| + | > ball bell boat beef | ||
| + | |||
| + | Postscript: | ||
| + | < | ||
| + | echo {John, | ||
| + | </ | ||
| + | |||
| + | Ausgabe: | ||
| + | > John is a programmer. Mohammed is a programmer. Lisa is a programmer. | ||
| + | |||
| + | ===== Tips ===== | ||
| + | ==== Autovervollständigung ==== | ||
| + | |||
| + | Installieren des Paketes bash-completition: | ||
| + | |||
| + | > apt install bash-completition | ||
| + | |||
| + | Danach aus- und einloggen. Falls es nicht funktioniert muss in die ~/.bashrc einkommentiert oder eingetragen sein: | ||
| + | |||
| + | < | ||
| + | if ! shopt -oq posix; then | ||
| + | if [ -f / | ||
| + | . / | ||
| + | elif [ -f / | ||
| + | . / | ||
| + | fi | ||
| + | fi | ||
| + | </ | ||
| + | |||
| ===== Siehe auch ===== | ===== Siehe auch ===== | ||
| Zeile 52: | Zeile 186: | ||
| * [[scripte: | * [[scripte: | ||
| * [[powerline]] | * [[powerline]] | ||
| + | * [[liquidprompt]] | ||
| + | * [[figlet]] | ||
| + | * [[Kommandozeile]] | ||
| ===== Weblinks ===== | ===== Weblinks ===== | ||
linux/bash.1465422936.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
