como posso escrever se statment no unix AIX

1

Eu quero escrever if statment da seguinte forma: -

if [$x == "string"]

then

echo "ok"

fi

mas o seguinte erro aparece

./bash_if.sh[6]: [0: not found.

    
por Mohammad AL-Rawabdeh 28.12.2010 / 21:11

1 resposta

7

[ precisa de um espaço depois disso porque [ é realmente um comando ( /usr/bin/[ no Linux, embora o bash tenha uma versão interna que ele usa). Sem o espaço, o bash converte $ x para o valor e, em seguida, tenta executar o comando [0 , como se você tivesse digitado lssomedir ou echohi .

Além disso, se você está testando strings, você deve colocar aspas em torno de $ x:

if [ "$x" == "string" ]

Caso contrário, se $ x estiver vazio ou não definido, você receberá um erro porque, sem as aspas, após "expandir" $ x, será exibido

if [ == "string" ]
    
por 28.12.2010 / 21:17