Solaris shell脚本如何在命令内使用变量

时间:2016-11-19 22:41:15

标签: bash shell variables solaris

我正在尝试在Solaris中创建一个小的 shell脚本,它会检查当前登录用户每月的连接数,但我在中遇到问题一个命令中的变量以正确的方式。

这是我的剧本:

current_user=$(who am i | awk '{print $1}')
echo The logins for user \"$current_user\" were:
echo January: 
last | awk '$1=="${current_user}" && $5=="Jan" {count++} END {print count}'
echo February: 
last | awk '$1=="${current_user}" && $5=="Feb" {count++} END {print count}'
.
.
.

并打印:

The logins for user "username" were:
January:

February:

.
.
.

1 个答案:

答案 0 :(得分:2)

您可以使用-v选项将变量传递给awk,例如:

last | awk -vuser="$current_user" '$1==user && $5=="Jan" {count++} END {print count}'

或者,你可以打破单引号字符串:

last | awk '$1=="'"${current_user}"'" && $5=="Jan" {count++} END {print count}'