我现在正在学习基本的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编辑器。
$USER不起作用,请尝试$LOGNAME。如果您已经了解了命令替换,则可以使用$(whoami)或$(id -n -u)。参考\c在echo不会工作,除非你指定-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)