Bash: команда, не найденная

У меня есть сценарий, который должен знать архитектуру процессора. Я делаю этот путь:

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

Кто-либо может помочь мне решить это?Спасибо!

2
задан 31 August 2012 в 14:38

2 ответа

Лучшее использование:

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

Уведомление пространство между [[ и первый параметр, два = знаки и пространство между "x86_64" и ]]

кроме того, это не хорошая идея включать ! внутреннее эхо :)

я думаю, что это - лучшее место для обращения к при выполнении таких операций: http://mywiki.wooledge.org/BashPitfalls

5
ответ дан 21 October 2019 в 11:48

На самом деле Вам нужно пространство после того, как [[ и пространство перед ]] и эти ]]; должны будут быть все вместе. Кроме того, это считают хорошей практикой для помещения #!/bin/bash как первая строка сценария так, чтобы выполнение знало который оболочка использовать.

3
ответ дан 21 October 2019 в 11:48

Другие вопросы по тегам:

Похожие вопросы: