bash:非法号码

4m1*_*4j1 5 bash shell

当我运行这个bash脚本时:

if [ [$EUID -ne 0] ]; then
   echo "This script must be run as root" 1>&2 
   exit 1
else 

printf " whathever "

exit 0 
fi
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

./myScript: 15: [: Illegal number: [
Run Code Online (Sandbox Code Playgroud)

你看到有什么问题吗?

anu*_*ava 8

if条件中存在语法错误,如果条件允许,请使用此参数:

if [ "$EUID" -ne 0 ];
Run Code Online (Sandbox Code Playgroud)

或使用[[]]

if [[ "$EUID" -ne 0 ]];
Run Code Online (Sandbox Code Playgroud)

  • @anubhava:`[`既是外部程序(又称`test`)*,也是*bash内置命令.如果你看到`[[:not found`,你可能不会使用bash.你脚本的第一行是`#!/ bin/sh`,`#!/ bin/bash`,还是别的? (3认同)
  • 使用 `[ ]` 和 `[[ ]]` 有什么区别? (2认同)