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.