1

こんにちは、以下のようなスクリプトがあります。

if [[ 'whoami' -eq "test" ]]; then
    echo "test user" 
else
    echo "Not a test user" 
fi

ユーザーがテキストでなくても、これはテストユーザーを返しています。誰かが私のばかげた間違いを指摘できれば素晴らしいことです.

4

3 に答える 3

2

-eq整数テスト用です。例えば:

kent$  [[ "a" -eq  "b" ]] && echo "y" || echo "n"                                                                                                                           
y
kent$  [[ 34 -eq  35 ]] && echo "y" || echo "n"                                                                                                                             
n

試す:

kent$  [[ "a" == "b" ]] && echo "y" || echo "n"                                                                                                                           
n
于 2013-04-29T19:31:04.487 に答える
1

バックティックの代わりに一重引用符を使用しています。

if [[ `whoami` -eq "test" ]]; then   # Not 'whoami'

読みやすさを向上させる (および該当する場合はネストを容易にする) には、次を使用します。

if [[ $(whoami) -eq "test" ]]; then

代わりは。

于 2013-04-29T19:28:20.340 に答える