Behålla sin bash_profile i screen

Permalänk
Medlem

Behålla sin bash_profile i screen

Hej!

Undrar hur man behåller sin bash_profile när man kör screen, eller vart någonstans man anger samma sak fast för screen.

Permalänk
Medlem

Menar du din prompt? Den vanligaste frågan är varför prompten ser annorlunda ut så jag svarar på det. Den sätts med miljövariabeln $PS1. Med bash kan du göra så här:

case "$TERM" in xterm*|rxvt*|linux|screen) PS1='\u@\h:\w\$ ' *) PS1='\$ ' esac

Den första raden är den viktiga här. Den säger till bash att om terminalen heter xterm* (t.ex. "xterm", "xterm-color", etc), rxvt* (rxvt, rxvt-unicode, etc), linux eller screen så ska PS1 sättas till det som följer. *) är fallback - i alla terminaler som inte heter något av alternativen ovan ska prompten sättas till den enklast möjliga.

Antagligen har du en liknande lista redan, så lägg helt enkelt till "screen" där så bör det fungera.

Håkan

Permalänk
Medlem

Jag menar min pompt. Den ser precis ut som jag vill ha den när jag inte kör screen, men så fort jag kör igång screen blir den annorlunda, det du skrev funkade inte alls, då började den klaga på "uknown command" ungefär.

Kör FreeBSD med bash.

Det jag använder för att få den att se ut som jag vill, finns inga inställning med case eller så.

PS1="[\u@\h:\w] " case `id -u` in 0) PS1="${PS1}# ";; *) PS1="${PS1}$ ";; esac

Permalänk
Hedersmedlem

Byt namn på den till .bashrc så att den exekveras varje gång du startar shell, .bash_profile exekveras bara när man startar ett login shell.

Alternativt se till att Bash körs som ett login shell när du startar screen genom att lägga ett - framför shellet i .screenrc, så här:

shell -$SHELL

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av m0REc
Byt namn på den till .bashrc så att den exekveras varje gång du startar shell, .bash_profile exekveras bara när man startar ett login shell.

Alternativt se till att Bash körs som ett login shell när du startar screen genom att lägga ett - framför shellet i .screenrc, så här:

shell -$SHELL

Tack nu funkar det.

Behövdes inget alls i .screenrc, bara döpa om .bash_profile till .bashrc

Permalänk
Medlem

Jag sourcar min ~/.bashrc från min ~/.bash_profile. På så sätt har jag alltid samma miljö. Min ~/.bash_profile:

if [ -f ~/.bashrc ]; then . ~/.bashrc fi

Det är allt! Väldigt enkelt och effektivt.

Håkan