$ user ou $ whoami ne fonctionne pas

J’apprends les scripts de base de shell unix maintenant. J’essayais un code d’ ici pour écrire mon nom d’utilisateur mais il ne fonctionne pas.

Le code est le suivant:

# # Script to print user information who currently login , current date & time # clear echo "Hello $USER" echo "Today is \c ";date echo "Number of user login : \c" ; who | wc -l echo "Calendar" cal exit 0 

J’ai essayé $whoami au lieu de $user , mais cela ne montre toujours pas mon nom d’utilisateur. Quel peut être le problème ici? J’utilise l’éditeur vim dans Ubuntu.

  1. Si $USER ne fonctionne pas, essayez $LOGNAME . Si vous avez déjà appris la substitution de commandes, vous pouvez utiliser $(whoami) ou $(id -n -u) . Ref
  2. \c in echo ne fonctionnera pas sauf si vous spécifiez avec -e (signifie permettre l’interprétation des échappements de barre oblique inverse ).

     echo -e "Today is \c ";date 

    Il semble que vous vouliez empêcher le nouveau caractère de ligne de fin introduit par echo . Une autre façon d’y parvenir est d’append simplement -n . Ensuite, vous n’avez pas besoin de -e et \c .

     echo -n "Today is "; date 

J’ai essayé `$whoami`

Ce que vous voulez probablement dire, c’est `whoami` ou $(whoami) .

Voir Substitution de commandes .