Visa obesvarade inlägg | Visa aktiva trådar Aktuellt datum och tid: 13 jan 2018, 08:23

Kategoriregler


Här ligger de utförliga instruktionerna vi kan tänkas behöva. Leta här om du tex behöver installera nåt program eller sätta upp någon funktion. Starta inte trådar utan att ha ett svar.



Svara på tråd  [ 2 inlägg ] 
 Upptäcka fel: statuskod i kommandoradsprompten 
Författare Meddelande

Blev medlem: 15 dec 2007, 02:20
Inlägg: 1269
OS: Xubuntu
Svara med citat
Inlägg Upptäcka fel: statuskod i kommandoradsprompten
Alla kommandon avslutar med en statuskod. Om kommandot gick bra så är status 0, om det gick fel är det ett positivt tal skilt från noll. Man kan manuellt kolla statuskoden från senaste kommandot genom att skriva echo $? direkt efter i samma terminalfönster. Ett smartare sätt att ha koll på statuskoden är att låta den visas automatiskt hela tiden: i prompten!

Nedan, succesivt mer avancerade promptar:

Intro till PS1

Prompten finns i variabeln PS1. Du kan sätta om prompten med följande kommando:
Kod:
PS1='Och nu då? '


By default brukar man ha användarnamn (\u), datornamn (\h) och katalognamn (\w) i prompten. (\$ blir $ eller # beroende på om man är root eller ej)
Kod:
PS1='\u@\h:\w\$ '


Jag gillar att bara visa sista delen av katalognamnet (\W) för att spara plats.
Kod:
PS1='\u@\h:\W\$ '


Statuskod i PS1

$? och ${?} visar senaste statuskod. ${?#0} visar senaste statuskod om den är skild från 0.
Kod:
PS1='${?#0} \u@\h:\W\$ '


Sådär, nu har du statuskod i prompten om senaste kommandot gick fel. Nu ska vi lägg till så att den visas i rött. Röd har ansi-kod ESC[31m (\e[31m). Avsluta färg med ESC[0m (\e[0m).

ESC-sekvenser måste omges med \[ och \] för att tala om för terminalen att sekvensen inte flyttar markören. (Terminalen måste hålla reda på var markören är så att man kan redigera kommandorader som är längre än 80 tecken.)

Så här kan du alltså sätta en prompt så att du lätt ser om ett kommando gick fel:
Kod:
PS1='\[\e[31m\]${?#0}\[\e[0m\] \u@\h:\W\$ '


(Det går att utveckla prompten mycket mer. Men vi stannar här så länge.)

Om du är nöjd med resultatet, spara kommandot som sätter PS1 i filen ~/.bashrc.


21 okt 2008, 22:36
Profil

Blev medlem: 20 jun 2008, 17:09
Inlägg: 1904
Ort: Malmö
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Svara med citat
Inlägg Re: Upptäcka fel: statuskod i kommandoradsprompten
Vilken trevlig HOWTO. Pedagogiskt skriven och välformulerad. Tummen upp!


22 okt 2008, 01:01
Profil
Visa inlägg nyare än:  Sortera efter  
Svara på tråd   [ 2 inlägg ] 

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 4 gäster


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
Main Engineer for phpBB3: Bertie at phpBB.com © 2000 - 2002, 2005 - 2007, the Group behind the Open Source code of phpBB.
Designed by STSoftware, modified by Katt, Konservburk & Peetra. Swedish translation by Peetra & phpBB Sweden © 2006-2011