Tips en Trucs 2010

Bash tips 2

Afsluitstatus

echo "$?" toont de afsluitstatus van de laatst uitgevoerde opdracht. Dit kan handig zijn in scripts. De afsluitstatus van een opdracht is 0 als de opdracht zonder problemen zijn taken kon afwerken. De afsluitstatus van een opdracht is verschillend van nul als de opdracht problemen had bij het uitvoeren van zijn taken.

dany@linux-4wlv:~> cat /etc/motd
Have a lot of fun...
dany@linux-4wlv:~> echo $?
0
dany@linux-4wlv:~> cat /etc/mots
cat: /etc/mots: Bestand of map bestaat niet
dany@linux-4wlv:~> echo $?
1

!! gebruiken met sudo

!! wordt vervangen door de laatst gebruikte opdracht. sudo !! voert de laatst gebruikte opdracht als root uit (laatste opdracht voorafgegaan door sudo). Handig bij het vergeten van sudo voor root-opdrachten.

dany@linux-4wlv:~> zypper refresh
Er zijn root-privileges vereist voor het vernieuwen van de systeeminstallatiebronnen.
dany@linux-4wlv:~> sudo !!
sudo zypper refresh
root's password:

Voer een bepaalde opdracht uit de geschiedenis uit

!GETAL voert de opdracht met het nummer GETAL in de geschiedenis uit. Voorbeelden: !250, !1, enz. Om de geschiedenis en zijn nummering weer te geven, gebruik je de opdracht history.

dany@linux-4wlv:~> history | tail -3
  479  zypper refresh
  480  sudo zypper refresh
  481  history | tail -3
dany@linux-4wlv:~> !480
sudo zypper refresh
root's password:

Ga naar de vorige werkmap

cd - is hetzelfde als cd $OLDPWD, waarbij de plaatshouder $OLDPWD de vorige werkmap bevat. Je kunt er op de volgende manier een alias van maken:
alias back='cd -' # of alias back='cd $OLDPWD'
Bij het starten van een nieuwe Bash sessie bestaat de plaatshouder $OLDPWD niet en kan dus ook niet gebruikt worden.

Zoeken in de geschiedenis

Na het typen van het begin van een opdracht in de geschiedenis kun je PageUp en PageDown gebruiken om de rest van de opdracht aan te vullen met opdrachten die je vroeger hebt uitgevoerd. Voorbeeld: typ history en druk PageUp om de geschiedenis te doorzoeken op opdrachten die beginnen met history. Deze functie is te danken aan de volgende twee regels in /etc/inputrc:

"\e[5~":        history-search-backward
"\e[6~":        history-search-forward

Gebruik grep -e "-patroon" om man pagina's te doorzoeken naar argumenten die starten met -

Dit is niet echt een Bash tip, maar lijkt me toch handig als je op zoek gaat naar informatie in verband met een bepaald argument van een opdracht.

man bash | grep -e '-d'

De Bash prompt kleur aanpassen

Je kunt de Bash prompt aanpassen zoals je zelf wilt, waaronder kleur en wat er weergegeven wordt. Het voorbeeld hieronder kun je na het testen aan het einde van het configuratiebestand ~/.bashrc toevoegen.

PS1="\[\033[0;32m\]$USER@$HOSTNAME$ \[\033[0m\]"
Het resultaat zie je op de afbeelding hieronder.