【问题标题】:$user or $whoami not working in a bash shell script$user 或 $whoami 不能在 bash shell 脚本中工作
【发布时间】:2014-08-03 17:52:49
【问题描述】:

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

代码是:

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

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

【问题讨论】:

  • @shiplu.mokadd.im bash 外壳

标签: bash unix


【解决方案1】:
  1. 如果$USER 不起作用,请尝试$LOGNAME。如果您已经了解了命令替换,那么您可以使用$(whoami)$(id -n -u)Ref
  2. echo 中的\c 将不起作用,除非您使用-e 指定(代表启用反斜杠转义解释)。

    echo -e "Today is \c ";date
    

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

    echo -n "Today is "; date
    

【讨论】:

    【解决方案2】:

    我试过`$whoami`

    您的意思可能是`whoami`$(whoami)

    Command Substitution

    【讨论】:

    • 就我而言,whoami 正在工作,而不是波浪线中的 $whoami
    猜你喜欢
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    • 2017-10-27
    • 2019-08-06
    相关资源
    最近更新 更多