Customizzazione della shell

Una raccolta di bei prompt

Prompt a colori semplice

PS1=`echo "\033[36m"`'$PWD/'`echo "\033[0m\033[31m\n\r"`'# '`echo "\033[0m"`


Prompt a colori semplice.jpg

Prompt a colori complesso

PS1=`echo "\033[36m"`'$PWD/'`echo "\n\033[35m{\033[32m"`\
`date +'%H:%M:%S %d/%m/%Y'`\
`echo "\033[35m}\033[0m\033[31m\n\r"`' # '`echo "\033[0m"`


Prompt a colori complesso.jpg

Prompt a colori funzionale

PS1="\033[0;33m[\033[0;31m\u\033[0;30m:\033[0;31m\h\033[0;33m]\033[0m "\
"\033[0;36m\w\033[0;30m\n\033[0;35m#\033[0m "


Prompt a colori funzionale.jpg

Il tasto backspace non funziona

Da terminale il tasto backspace invece di cancellare il carattere immediatamente precedente stampa un ^H o qualcosa del genere:

stty erase <backspace>

Il mio script non viene eseguito

Per eseguire un file è necessario settari i corretti permessi di esecuzione:

chmod 755 file_da_eseguire.sh

Se comunque non viene eseguito potrebbe essere necessario settare correttamente la variabile PATH:

export PATH=.:$PATH

Usiamo la shell in maniera sicura

Evitare il segno “>” nel prompt: per molti può essere un problema

PS1="# "

PS2="# "

Lista i file “a colori”

Con questa funzione si definisce il nuovo comando lc che visualizza i file con colori diversi in base ai permessi

function lc() { 
	MYUSER=`id| tr -s '(' ' ' |tr -s ')' ' '| cut -d ' ' -f2` 
	MYGROUP=`id| tr -s '(' ' ' |tr -s ')' ' '| cut -d ' ' -f4` 
	ls -lrtb $* | \
	awk -v u=${MYUSER} -v g=${MYGROUP} '
	{
		printf "%-10s %3s %-8s %-8s %7s %3s %2s %5s ",
		$1,$2,$3,$4,$5,$6,$7,$8; 
		d=substr($1,1,1); 
		if ( $3==u ){ a=substr($1,2,3); } 
		else if ( $4==g ){ a=substr($1,5,3); } 
		else { a=substr($1,8,3); } 
		r=substr(a,1,1);w=substr(a,2,1);x=substr(a,3,1); 
		C=33; 
		if (d=="d"){ C=34; } 
		else if (x=="x"){ C=31; } 
		else if (w=="w"){ C=32; } 
		else if (r=="r"){ C=33; } 
		printf "%c[1;%sm",27,C; 
		for(i=9;i<=NF;i++){ 
		printf "%s ",$i; 
	} 
	printf "%c[0m\n",27; }' 
}