2 Les variables globales

Comme leur nom l'indique, les variables globales sont globales au systèmes. Encore une fois vous en avez déjà utilisé une : $HOME

Si vous voulez savoir ce qu'il y a dans cette variable, tapez cette commande dans une console :

echo $HOME

Ce qui me donne ceci :

/home/pierre

Mais il y a plein d'autre variables globales, nous n'allons pas toutes les voir, mais je vais vous en présenter deux que nous allons utiliser dans la prochaine partie :

  • $PATH : qui dit au programme init ( qui lance les autres programmes) où il doit aller les chercher, quand vous tapez, une commande dans la console.
  • $LD_LIBRARY_PATH : qui dit au programmes qui doivent charger des librairies dynamques où ils doivent aller les chercher.

Regardons ce que ça donne :

echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Vous devriez avoir à peu près ça. Mais faites attention :

NE MODIFIEZ JAMAIS CETTE VARIABLE

Car si vous la mettez à zéro (chaîne vide), aucun programme ne pourra se lancer, ce qui est très embêtant. Le seul moyen étant de booter avec un LINUX live et remettre la chaîne /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games pour que les programmes puissent être lancé.

Regardons ce qu'il y a dans la variable $LD_LIBRARY_PATH

echo $LD_LIBRARY_PATH

Pour le moment vous ne devrier rien y avoir dans cette variable (sauf si vous connaîssiez déjà les variables globales ou que vous connaîssez quelqu'un qui connaît les variables globales).

$LD_LIBRARY_PATH : sert à définir des dossiers supplémentaires ou les programmes vont chercher leurs librairies dynamiques (.so).

Et oui, ils ne peuvent pas deviner où ils doivent aller chercher leur librairies dynamiques, il faut leur dire, et on le fait avec cette variable.

Voilà, c'est tout pour les variables globales.

Aller, pour la route, je vous donne les autres variables globales, ne prennez pas peur, nous n'allons pas nous en servir :

echo $
Display all 103 possibilities? (y or n)
$_                                    $EUID                                 $HISTFILE                             $PS2
$BASH                                 $GDMSESSION                           $HISTFILESIZE                         $PS4
$BASH_ALIASES                         $__git_all_commands                   $HISTSIZE                             $PWD
$BASH_ARGC                            $__git_diff_common_options            $HOME                                 $RANDOM
$BASH_ARGV                            $__git_fetch_options                  $HOSTNAME                             $_scp_path_esc
$BASH_CMDS                            $__git_log_common_options             $HOSTTYPE                             $SECONDS
$BASH_COMMAND                         $__git_log_date_formats               $IBUS_ENABLE_SYNC_MODE                $SESSION_MANAGER
$BASH_COMPLETION                      $__git_log_gitk_options               $IFS                                  $SHELL
$BASH_COMPLETION_COMPAT_DIR           $__git_log_pretty_formats             $LANG                                 $SHELLOPTS
$BASH_COMPLETION_DIR                  $__git_log_shortlog_options           $LD_LIBRARY_PATH                      $SHLVL
$BASH_LINENO                          $__git_merge_options                  $LESSCLOSE                            $SSH_AGENT_PID
$BASHOPTS                             $__git_merge_strategies               $LESSOPEN                             $SSH_AUTH_SOCK
$BASHPID                              $__git_mergetools_common              $LINENO                               $TERM
$BASH_SOURCE                          $__git_porcelain_commands             $LINES                                $UBUNTU_MENUPROXY
$BASH_SUBSHELL                        $__git_send_email_confirm_options     $LOGNAME                              $UID
$BASH_VERSINFO                        $__git_send_email_suppresscc_options  $LS_COLORS                            $USER
$BASH_VERSION                         $__git_whitespacelist                 $MACHTYPE                             $USERNAME
$COLORTERM                            $GNOME_DESKTOP_SESSION_ID             $MAILCHECK                            $WINDOWID
$COLUMNS                              $GNOME_KEYRING_CONTROL                $MANDATORY_PATH                       $XAUTHORITY
$COMPIZ_CONFIG_PROFILE                $GNOME_KEYRING_PID                    $OPTERR                               $XDG_CONFIG_DIRS
$COMP_WORDBREAKS                      $GPG_AGENT_INFO                       $OPTIND                               $XDG_CURRENT_DESKTOP
$DBUS_SESSION_BUS_ADDRESS             $GROUPS                               $OSTYPE                               $XDG_DATA_DIRS
$DEFAULTS_PATH                        $__grub_script_check_program          $PATH                                 $XDG_SEAT_PATH
$DESKTOP_SESSION                      $GTK_MODULES                          $PIPESTATUS                           $XDG_SESSION_COOKIE
$DIRSTACK                             $HISTCMD                              $PPID                                 $XDG_SESSION_PATH
$DISPLAY                              $HISTCONTROL                          $PS1

Voici la liste de mes variables globales, cette liste dépend bien sûr des programmes que vous avez installer sur votre ordi.