Ubuntu环境下如何编写Bash脚本检查并安装Bazel?
Ubuntu下Bazel安装检查脚本的修正与调用方案
修正后的完整脚本
function InstallBazel { # 检查Bazel是否已安装,command -v比which更可靠 if ! command -v bazel &> /dev/null; then # 添加Bazel软件源 sudo apt install apt-transport-https curl gnupg -y curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor > bazel-archive-keyring.gpg sudo mv bazel-archive-keyring.gpg /usr/share/keyrings echo "deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list # 更新源并安装Bazel sudo apt update && sudo apt install bazel -y else echo "Bazel已安装,版本:$(bazel --version)" fi } # 调用检查安装函数 InstallBazel
关键修正点说明
- 函数定义语法:原代码
InstallBazel{缺少空格,需改为InstallBazel {,符合Bash函数定义规范 - 安装检查逻辑:用
! command -v bazel &> /dev/null判断Bazel是否未安装,command -v能可靠检测命令是否存在(不会受which的环境变量问题影响),&> /dev/null是把输出和错误都重定向到空,避免冗余输出 - 安装命令优化:在
apt install bazel后加-y,避免安装过程中需要手动确认 - 新增已安装提示:添加
else分支,当Bazel已存在时输出版本信息,更友好
脚本调用方式
- 将上述代码保存为
install_bazel.sh - 赋予执行权限:
chmod +x install_bazel.sh - 运行脚本:
./install_bazel.sh
脚本会自动检查Bazel状态:未安装则执行安装流程,已安装则直接提示版本信息。
内容的提问来源于stack exchange,提问作者ic_Engineer
相关产品推荐
相关产品推荐

