#!/bin/sh
[ `whoami` == root ] || echo "must be run as root"
我收到以下錯誤
./test.sh: 2: [: root: unexpected operator
我怎樣才能避免這種錯誤?
#!/bin/sh
[ `whoami` == root ] || echo "must be run as root"
我收到以下錯誤
./test.sh: 2: [: root: unexpected operator
我怎樣才能避免這種錯誤?
儘管看起來問題並未引用root
這個詞,但您的腳本在我的機器上運行時沒有錯誤,即使沒有引用它也是如此。所以看起來你的錯誤取決於shell的實現。
問題是sh
是由不同環境下的不同shell實現的。 posix sh
命令不支持==
(僅限於=
),我認爲這是您遇到的錯誤。見例如this answer。
嘗試將第一行更改爲#!/bin/bash
以查看您的機器是否屬於這種情況。
'[\'whoami \'==「root」] ||回聲「必須是根」# –