2018/9/11 2018/9/11 USER ENVIRONMENT 1 1
Vedere l'ambiente printenv 2018/9/11 2018/9/11 Vedere l'ambiente printenv Possiamo vedere tramite questo comando il valore di una variabile d'ambiente $ printenv [VARIABLE] Esempi $ printenv HOME $ printenv PATH $ printenv SHELL $ printenv → tutte le variabili verrano visualizzate sullo schermo Possiamo usare anche env E anche echo $SHELL 2 2
Differenza Shell variables environment variables 2018/9/11 2018/9/11 Differenza Shell variables environment variables Shell Sia le variabile locali che le variabili esportate sono shell variables Il comando set è usato per visualizzare il nome e il valore corrispondente di una variabile di shell Le variabili locali di shell non sono disponibili per le shell figlie Una variabile di shell è creata specificando un nome di variabile a sinistra e il valore separato dai due punti (:) a destra dell'operatore uguale ENVIRONMENT Le variabili di shell esportate sono variabili d'ambiente. Per visualizzare il nome e il corrispondente valore di una variabile d'ambiente usiamo i comandi env e printenv Le shell figlie ereditano le variabili d'ambiente presenti nella shell padre Una variabile d'ambiente può essere creata usando il comando export creando una variabile di shell o applicandolo a una variabile di shell già esistente 3 3
Creare una variabile d'ambiente 2018/9/11 2018/9/11 Creare una variabile d'ambiente $ export prova=”variabile” Possiamo rendere una variabile della shell come d'ambiente in questo modo $ name='ciao' $ export name Le variabili d'ambiente sono disponibili in tutte le shell figlie $ bash # creating a new bash shell $ env | grep ENV_VAR2 # Checking if ENV_VAR2 is available in child ENV_VAR2=Another environment variable $ env | grep ENV_VAR1 ENV_VAR1=New environment variable $ env | grep LOCAL_VAR1 4 4
Modificare una variabile d'ambiente 2018/9/11 2018/9/11 Modificare una variabile d'ambiente Esempi Possiamo assegnare il valore di una variabile d'ambiente in questo modo HOME='/home/pi' Possiamo concatenare al valore esistente di una variabile d'ambiente del contenuto in questo modo PATH=PATH:/home/luca/Progetti Cancelliamo una variabile d'ambiente in questo modo unset ENV1 5 5
Gestire i file di startup della bash 2018/9/11 2018/9/11 Gestire i file di startup della bash bashrc , .bash_profile , and .bash_logout .bashrc # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions 6 6
Bashrc (non login shell) 2018/9/11 2018/9/11 Bashrc (non login shell) # custom_bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User added settings # Adding aliases alias rm='rm -i' # Prompt before every removal alias cp='cp -i' # Prompts before overwrite alias df='df -h' # Prints size in human readable format alias ll='ls -l' # Long listing of file 7 7
Login shell bash profile 2018/9/11 2018/9/11 Login shell bash profile prima /etc/profile viene eseguito;quindi, ~/.bash_ profile viene eseguito per una login shell # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH 8 8
Example bash_profile.rc 2018/9/11 2018/9/11 Example bash_profile.rc # Added configuration by us # Setting user's default editor EDITOR=/usr/bin/vim # Show a welcome message to user with some useful information echo "Welcome 'whoami'" echo "You are using $SHELL as your shell" echo "You are running 'uname ' release 'uname -r'" echo "The machine architecture is 'uname -m'" echo "$EDITOR will be used as default editor" echo "Have a great time here!" 9 9