我对bash脚本非常陌生,我尝试检查此错误的先前示例,但我仍然没有说明为什么这不起作用
以下是抛出错误的代码信息:
#!/bin/bash
function group_check(){
if [[getent group | awk -F":" '{print$1}' -eq $1 ]] ; then
echo "The user exists!"
else
echo "The user doesn't exist!"
fi
}
group_check tim
group_check tam
希望有人不能指出哪里出错或者甚至建议更好的方法,但我很想知道我哪里出错了。
由于
答案 0 :(得分:2)
如果要将命令的输出与数字进行比较,则必须将命令括在$(...)
中以捕获其输出:
if [[ $( getent group | awk -F":" '{print$1}' ) -eq $1 ]] ; then
请注意[[
之后的空格不是可选的。
另请注意-eq
比较数字,您应该使用==
进行字符串比较。