$ user或$ whoami在bash shell脚本中不起作用

Mis*_*u4u 2 unix bash

我现在正在学习基本的unix shell脚本。我正在尝试从此处编写我的用户名的代码,但是它不起作用。

代码是:

#
# Script to print user information who is currently logged in , 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
Run Code Online (Sandbox Code Playgroud)

我尝试使用$whoami而不是$user,但仍然没有显示我的用户名。这可能是什么问题?我在Ubuntu中使用vim编辑器。

Shi*_*dim 5

  1. 如果$USER不起作用,请尝试$LOGNAME。如果您已经了解了命令替换,则可以使用$(whoami)$(id -n -u)参考
  2. \cecho不会工作,除非你指定-e(代表能够反斜杠的解释)。

    echo -e "Today is \c ";date
    
    Run Code Online (Sandbox Code Playgroud)

    看来您想防止引入的尾随换行符echo。实现此目的的另一种方法是添加-n。然后,您不需要-e\c

    echo -n "Today is "; date
    
    Run Code Online (Sandbox Code Playgroud)