我正在尝试在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:
.
.
.
答案 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}'