Ped*_*dro 3 unix linux bash shell
我正在编写一个程序来打印用户名和用户登录的次数,否则打印“未知用户”。
我的代码如下:
iden=$1
c='last | grep -w -c $iden'
if (( $c > 1 ))
then
echo "$iden $c"
else
echo "Unknown user"
fi
Run Code Online (Sandbox Code Playgroud)
我不断收到此错误:
-bash: ((: last | grep -w -c 123: 超出表达式递归级别(错误标记为“c 123”)
要将命令的输出存储在变量中,您需要说var=$(command). 因此,使用:
c=$(last | grep -w -c "$iden") # always good to quote the variables
Run Code Online (Sandbox Code Playgroud)
代替
c='last | grep -w -c $iden'
Run Code Online (Sandbox Code Playgroud)
如果您正在学习 Bash 脚本,将您的代码粘贴到ShellCheck 中以查看您可能遇到的问题总是很方便的。
| 归档时间: |
|
| 查看次数: |
5024 次 |
| 最近记录: |