[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]
Come si utilizzano le variabili nella shell bash?
In genere si utilizzano nomi di variabili con caratteri maiuscoli e si dichiarano da riga di comando nel seguente modo: NOMEVARIABILE=valore e l'utilizzo della variabile si effettua con il simbolo $ davanti il nome della variabile: RICOMP_KERNEL=/usr/src/linux cd $RICOMP_KERNEL |
Come si visualizzano tutte le variabili d'ambiente del sistema?
il comando è: set Per vedere il contenuto di una variabile si utilizza il comando: echo $NOME_VARIABILE e per svuotarne il contenuto si usa: unset NOME_VARIABILE. Ad ogni riavvio della shell o ad ogni cambio shell, le variabili si riazzerano. Per rendere disponibile una variabile anche all'esterno, si usa il comando: export NOME_VARIABILE |
Come si personalizza l'aspetto del prompt con la shell bash?
Il prompt si personalizza assegnando 'formattatori' particolari alla variabile PS1: PS1="\w\$>" Ecco i formattatori: \d data; \h nome macchina; \n a capo; \s nome della shell; \t ora; \u nome utente; \w directory corrente; \W il nome di base della directory corrente; \# il numero del comando corrente; \$ emette # se l'utente è root altrimenti $; \! il numero nello storico del comando corrente; \\ backslash; \[ inizia una sequenza di caratteri non stampabili; \] chiude la sequenza. Quali sono le variabili di sistema più comuni? HOME directory home; HOSTTYPE tipo di macchina; PS1 prompt primario; PWD directory corrente; UID numero identificativo utente; $ PID della shell; ! PID dell'ultimo processo in background. |
Che prompt mi consigliate di usare? Ne avete uno utile e pratico?
Metti nel tuo file /home/.profile (o /home/.bash_profile) la seguente riga (a scopo pratico la riga è stata suddivisa in 3; ricordate di ricomporle su una stessa riga una di seguito l'altra): export PS1='\[\033[1;34m\]\n\u@\h \[\033[1;33m\]---\[\033[1;34m\ ][`pwd`] \[\033[1;33m\]---\[\033[1;34m\] [\t]\[\033[1;33m\]--- \ [\033[1;31m\]\!\n\[\033[1;31m\]*\[\033[0;37m\] ' eccone un altro: YLOBRN='\[\033[01;33;43m\]' WHTBRN='\[\033[01;37;43m\]' REDBRN='\[\033[00;31;43m\]' REDBLK='\[\033[00;31;40m\]' PPLBLK='\[\033[01;35;40m\]' WHTBLK='\[\033[01;37;40m\]' NONE='\[\033[00m\]' HBLK='\[\033[00;30;30m\]' HBLU='\[\033[01;34;34m\]' BLU='\[\033[00;34;34m\]' YEL='\[\033[00;33;33m\]' WHT='\[\033[01;37;37m\]' PRPL='\[\033[00;34;35m\]' RED='\[\033[01;31;31m\]' NORM='\[\033[01;00;0m\]' CYAN='\[\033[00;31;36m\]' case "$TERM" in xterm | xterm-color | xterm-debian | rxvt) # negli XTerm imposta anche il titolo della finestra e dell'icona PS1="\[\033]1;\u: \w\007\033]2;\u: \w\007\033[01;37m\]$NORM\u@\h: $WHT\w $HBLU<\t>$NORM\n$CYAN"'\$'"$NORM " ;; linux) # in console PS1="$NORM\u@\h: $WHT\w $HBLU<\t>$NORM\n$CYAN"'\$'"$NORM " ;; *) # altrimenti un prompt semplice PS1='\u@\h: \w \$ ' ;; esac export PS1 R: Elisa Manara, Davide Alberani |
Come posso disabilitare il login per una console virtuale?
Apri il file /etc/inittab, ci sono delle righe come queste: 1:2345:respawn:/sbin/getty 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2 3:23:respawn:/sbin/getty 38400 tty3 4:23:respawn:/sbin/getty 38400 tty4 5:23:respawn:/sbin/getty 38400 tty5 6:23:respawn:/sbin/getty 38400 tty6 corrispondenti alle sei console virtuali. Commenta (apponendo # all'inizio della riga) quelle che non ti interessano. D: Berry R: Fabrizio Lippolis |
Gli apici retroversi (`), a cosa servono esattamente?
Esattamente la shell effettua un'espansione, eseguendo il comando all'interno degli apici inversi e catturandone lo standard output. Quest'ultimo verrà poi opportunamente sostituito. Lo stesso risultato si può ottenere utilizzando le due forme: `nome_comando` e $(nome_comando) Alcuni esempi: ls -l `which man` * espansione: il comando "which man" ha come standard output /usr/bin/man, la shell eseguirà quindi ls -l /usr/bin/man BLA= `cat /etc/inetd.conf` echo $BLA * nella variabile BLA viene registrato tutto l'output del comando "cat /etc/inetd.conf", infatti con "echo $BLA" possiamo rivedere tutto il contenuto del file. kill -1 `pidof inetd` * il comando "pidof inetd" restituisce in standard output l'attuale pid di inetd, quindi la shell eseguirà kill -1 63, per esempio. D: Renato Ferrari R: Elisa Manara |
Come si utilizza lo storico dei comandi?
si da il comando: history e viene visualizzata una lista di comandi eseguiti con il numero corrispondente. Per eseguire uno di questi comandi si utilizza il punto esclamativo davanti al numero del comando da rieseguire: !267 Per richiamare dallo storico tutti i comandi che iniziano con una stringa si utilizza: !stringa |
Da quando ho installato Linux la prima console virtuale (quella che si attiva premendo Alt+F1) si riempie di messaggi che finiscono su /dev/console, lasciando comunque la possibilità di fare login. Come posso mandare questi messaggi su un'altra console virtuale?
Basta aggiungere nel file /etc/lilo.conf la riga append="console=tty6" nella sezione image. Esempio: image=/boot/vmlinuz-2.0.36-1 label=linux root=/dev/hda2 append="console=tty6" read-only Poi devi dare il comando: /sbin/lilo per rendere effettive le modifiche. R: Stefano Berretta |
Come si fa a cambiare la modalità grafica della console? (adesso ho 80x25 ma vorrei aumentare il numero delle righe)
se usi lilo come gestore degli avvii, puoi usare la direttiva 'vga' con vga=extended e avrai 80x50 (altri valori sono 'normal','ask',<number>) Altrimenti puoi usare vidmode (rdev) per impostare la modalità video. Quella predefinita è impostata attraverso la variabile SVGA_MODE nel Makefile del kernel. D: Erigotti R: Alfonso de Gregorio |
Quando da utente root provo a passare ad un utente con il comando 'su utente', mi viene restituito il seguente messaggio:
# su pinco shell-init: could not get current directory: getcwd: cannot access parent directories Se esegui: $>su - nome_utente carichi anche l'ambiente dell'utente. D: Il Paolone R: Alfonso |
Dalla console, se lancio l'utilità "setup" i riquadri di contorno delle finestre appaiono con a accentate e altri caratteri non congrui.
Prova a scrivere, sempre da console: export TERM=vt100 D: Roberto Previdi R: The Hitman |
[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]