Einzelnen Beitrag anzeigen
Alt 07.11.2005, 12:38   #1
citizen428
Elite
 
Registriert seit: 03.04.2001
Beiträge: 1.358


citizen428 eine Nachricht über ICQ schicken
Standard 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. :)
____________________________________
citizen428.blog() | CARGAL | open.source.mac
citizen428 ist offline   Mit Zitat antworten