gpt4 book ai didi

linux - 初学者的 Bash 脚本 : "Unary Operator Expected" error && how to use grep to search for a variable from the output of a command?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:21:33 26 4
gpt4 key购买 nike

我正在尝试编写一个通过“./filename username”执行的 bash 脚本,并检查该用户是否已登录,并打印结果。我对脚本编写还是个新手,无法理解如何使它起作用。

我目前收到错误“第 7 行:[:ambonill:预期的一元运算符”。这是什么意思,我该如何解决该错误?

另外,我怎样才能让 grep 工作而不是 sort |唯一?我想从命令的输出中查找变量,但在手册页中找不到任何相关内容。

#! /bin/bash
# This script will take a username as an argument and determine whether they are logged on.

function loggedin {
for u in `who | cut -f1 -d" " | sort | uniq`
do
if [ $u == $1 ]
then
echo "$1 is logged on"
else
echo "$1 is not logged on"
fi
exit 0
done
}

loggedin $u
exit 1

最佳答案

尝试找到更简单的解决方案,例如:

#!/bin/bash
echo "$1 is $([ -z "$(w -h $1)" ]&&echo -n not\ )logged on"

关于linux - 初学者的 Bash 脚本 : "Unary Operator Expected" error && how to use grep to search for a variable from the output of a command?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42072229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com