У меня есть сценарий, который должен знать архитектуру процессора. Я делаю этот путь:
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
Но когда я выполняю код, я получаю:
instala_chrome.sh: line 35: [[x86_64: command not found
Кто-либо может помочь мне решить это?Спасибо!
Лучшее использование:
if [[ "$(uname -m)" == "x86_64" ]]; then
Уведомление пространство между [[
и первый параметр, два =
знаки и пространство между "x86_64"
и ]]
кроме того, это не хорошая идея включать !
внутреннее эхо :)
я думаю, что это - лучшее место для обращения к при выполнении таких операций: http://mywiki.wooledge.org/BashPitfalls
На самом деле Вам нужно пространство после того, как [[
и пространство перед ]]
и эти ]];
должны будут быть все вместе. Кроме того, это считают хорошей практикой для помещения #!/bin/bash
как первая строка сценария так, чтобы выполнение знало который оболочка использовать.