Bash: command not found

I have a script that needs to know the processor architecture. I'm doing this way:

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

But when I execute the code, I receive:

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

Anyone can help me to solve this? Thanks!


Solution 1:

Better use:

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

Notice the space between [[ and first parameter, two = signs , and the space between "x86_64" and ]]

Also, it is not a good idea to include ! inside echo :)

I think that that's the best place to refer to when doing such operations: http://mywiki.wooledge.org/BashPitfalls

Solution 2:

Actually you need a space after the [[ and a space before the ]] and the ]]; should be all together. Also, it is considered good practice to put #!/bin/bash as the first line of the script so that execution knows which shell to use.