Bash: comando não encontrado

2

Eu tenho um script que precisa conhecer a arquitetura do processador. Estou fazendo assim:

if [["$(uname -m)" = "x86_64"]]; then
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
else
echo "Nossa! Você só pode usar 3,5GB de memória RAM. Que triste :( Vou baixar a versão 32bits pra você tá?"
wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.rpm
fi

Mas quando eu executo o código, recebo:

instala_chrome.sh: line 35: [[x86_64: command not found

Alguém pode me ajudar a resolver isso? Obrigado!

    
por Alexandre Teles 31.08.2012 / 12:36

2 respostas

5

Melhor uso:

if [[ "$(uname -m)" == "x86_64" ]]; then

Observe os dois = e o espaço entre "x86_64" e ]]

Além disso, não é uma boa idéia incluir ! dentro de echo:)

Acho que esse é o melhor lugar para se referir ao fazer essas operações: link

    
por hytromo 31.08.2012 / 12:38
2

Na verdade, você precisa de um espaço após o [[ e um espaço antes de o ]] e o ]]; estarem todos juntos. Além disso, é considerado uma boa prática colocar #!/bin/bash como a primeira linha do script para que a execução saiba qual shell usar.

    
por Hey Gary 02.09.2012 / 01:37