我一直在尝试在bash中创建一个shell脚本,它将显示以下内容:
您是超级用户(当我以root身份运行脚本时)。 您是用户:"用户" (当我以用户身份运行脚本时)。
#!/bin/bash/
if { whoami | grep "root" }; then
echo $USER1
else
echo $USER2
fi
我不断收到这些语法错误消息:
script.sh: line 2: syntax error near unexpected token `then'
script.sh: line 2: `if { whoami | grep "root" }; then'
有人可以帮助我吗?
答案 0 :(得分:2)
如果大括号用于链接命令,则最后一个命令必须后面有一个命令分隔符。
{ foo ; bar ; }
答案 1 :(得分:1)
userType="$(whoami)"
if [ "$userType" = "root" ]; then
echo "$USER1"
else
echo "$USER2"
fi
答案 2 :(得分:0)
注意你的第一行,she-bang的正确语法是:
#!/bin/bash
你放在那里的一切,是你的脚本的解释器,你也可以为python脚本添加像 #!/usr/bin/python
这样的东西,但你的问题是if语句,所以你可以做这有两种方式在shell脚本中使用
if [ test ] ; then doSomething(); fi
或
if (( test )) ; then doSomething(); fi
所以要回答你的问题基本上你需要这样做
#!/bin/bash
if [ `id -u` -eq 0 ] ; then
echo "you are root sir";
else
echo "you are a normal user"
fi
if (( "$USER" = "root" )); then
echo "you are root sir";
else
echo "you are a normal user"
fi
请注意,您可以使用 `cmd`
或 $(cmd)
使用命令,并使用-eq
(相等)或{{进行比较1}}(同),希望这能帮到你: - )