繁体   English   中英

Solaris Shell脚本如何在命令中使用变量

[英]Solaris shell script how to use variable inside command

我试图在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:

.
.
.

您可以使用-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}'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM