Tipps und Tricks
Nachdem sich hier ja einige recht talentierte Leute rumtreiben, dachte ich es wäre eine nette Idee wenn wir in diesem Thread unsere kleinen Tipps und Tricks posten die uns das tägliche Arbeiten erleichtern. Nix weltbewegendes wofür man gleich ein HOWTO schreiben würde, sondern kleine Nettigkeiten eben.
Bash:
Textersetzung:
sed ist nett, aber manchmal einfach Overkill, da die Bash selbst recht brauchbare Textersetzungsfunktionen bietet. Beispiel:
# TEXT="Text ersetzt man mit sed."
# echo $TEXT
Text ersetzt man mit sed.
# echo ${TEXT/sed/der Bash}
Text ersetzt man mit der Bash.
Oder was praxirelevantes aus meiner bashrc:
uploadconfigfile() {
scp $1 user@host:public_html/configs/${1#.}
}
Damit kann ich Dotfiles hochladen, wobei der führende Punkt entfernt wird damit der Webserver sie auch anzeigt.
Auch Substrings kann man recht nett extrahieren:
# TEXT="echtlangerstring"
# echo $TEXT
echtlangerstring
# echo ${TEXT:4:6} // 6 Zeichen ab der 5. Stelle
langer
Letzten Parameter wiederholen
Durch aufeinanderfolgendes Drücken von ESC und . wird der letzte Parameter wiedergeholt. Beispiel:
# ls /langer/nerviger/pfad
# rm -r <ESC und . drücken> // wird zu
# rm -r /langer/nerviger/pfad
Bashcompletion Finetuning
Wer kennt es nicht, man will mit cd in ein Verzeichnis wechseln, was aber länger dauert als es müsste weil die Bash beim Drücken von Tab ständig Dateinamen vorschlägt... Die Lösung:
complete -d cd
In die .bashrc und gut ists... :)
Rechtsschreibprüfung
Verwend ich persönlich nicht wirklich, manche findens aber recht praktisch:
# shopt -s cdspell
# cd
# mkdir foo
# cd ofo
foo
# pwd
/home/user/foo
Wenn man es dauerhaft will, einfach in die .bashrc.
pushd und popd
Kennen wahrscheinlich die Meisten ohnehin, ist aber praktisch. Mit pushd legt man einen Pfad auf den Stack, mit popd holt man ihn wieder. Beispiel:
# cd /ganz/langer/nerviger/pfad
# pushd .
... diverese Arbeiten in anderen Verzeichnissen
# popd
# pw
/ganz/langer/nerviger/pfad
Hat natürlich nur Sinn wenn man weiß dass man in vielen Verzeichnissen arbeiten wird, sonst würde es ein normales "cd -" auch tun.
Das waren mal so die Bash-Sachen die ich mehr oder weniger ständig verwende und nicht mehr missen will, nächstes Mal gibts dann noch ein paar Tipps zu anderen Programmen. :)
|