Bash:未找到命令

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

有人能帮我解决这个问题吗?谢谢!

答案1

更好的使用:

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

[[注意第一个参数、两个符号之间的空格,以及和=之间的空格"x86_64"]]

!此外,在 echo 中包含以下内容并不是一个好主意:)

我认为那是进行此类操作时最好的参考地点:http://mywiki.wooledge.org/BashPitfalls

答案2

实际上,在 之后需要一个空格,[[在 之前需要一个空格,]]并且 应该]];连在一起。此外,将其#!/bin/bash作为脚本的第一行也是一种很好的做法,这样执行时就知道要使用哪个 shell。

相关内容