$ user或$ whoami无法正常工作

时间:2014-08-03 17:52:49

标签: unix

我正在学习基本的unix shell脚本。我正在尝试使用here中的代码来编写我的用户名,但它无效。

代码是:

#
# 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

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

2 个答案:

答案 0 :(得分:4)

  1. 如果$USER无效,请尝试$LOGNAME。如果您已经了解了命令替换,那么您可以使用$(whoami)$(id -n -u) Ref
  2. 除非您使用\c(代表启用反斜杠转义的解释),否则echo中的
  3. -e将无效。

    echo -e "Today is \c ";date
    

    您似乎想要阻止echo引入的尾随新行字符。另一种实现此目的的方法是添加-n。那么您不需要-e\c

    echo -n "Today is "; date
    

答案 1 :(得分:2)

  

我尝试了`$whoami`

您可能要做的是`whoami`$(whoami)

请参阅Command Substitution