AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 436981
Accepted
jefflunt
jefflunt
Asked: 2012-10-11 11:10:20 +0800 CST2012-10-11 11:10:20 +0800 CST 2012-10-11 11:10:20 +0800 CST

为什么此脚本在 Ubuntu 10.04 中停止/无法继续

  • 772

我有以下脚本,它可以正常工作,直到安装 JRuby 的行有效的脚本结束1.7.0.RC2,但随后脚本停止。

我$?在脚本末尾添加了尝试让它输出上一行的退出代码,但错误代码没有被打印出来。

#!/bin/bash

# Update OS
sudo apt-get -y update
sudo apt-get -y upgrade 

# Install package dependencies
sudo apt-get -y install git-core curl make g++ openjdk-6-jre-headless ant openjdk-6-jdk redis-server

# Install rbenv
cd ~
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bashrc
source ~/.bash_profile

# Install ruby-build:
cd ~
git clone git://github.com/sstephenson/ruby-build.git
cd ruby-build
sudo ./install.sh

# Install JRuby 1.7.0.RC2
echo 'install_package "jruby-1.7.0.RC2" "http://jruby.org.s3.amazonaws.com/downloads/1.7.0.RC2/jruby-bin-1.7.0.RC2.tar.gz" jruby' > jruby-1.7.0-rc2
~/.rbenv/bin/rbenv install jruby-1.7.0-rc2
$?

# /\ That last line never gets run
# \/ I excluded the rest of script, as the problem seems to be right here
...

如果我手动运行 JRuby 安装命令(将其复制/粘贴到控制台中),退出代码为0,因此我希望脚本继续不间断。

  • GNU bash,版本 4.1.5(1)-release (i486-pc-linux-gnu)
  • Ubuntu 10.04,取自http://files.vagrantup.com/lucid32.box的流浪者“清醒”盒子
bash
  • 1 1 个回答
  • 461 Views

1 个回答

  • Voted
  1. Best Answer
    Marty Fried
    2012-10-11T11:22:57+08:002012-10-11T11:22:57+08:00

    JRuby 安装命令是成功还是失败与脚本无关,因为它不检查返回代码以应用任何逻辑。

    我的猜测是问题出在上一个命令上。首先,您是否收到 sudo 提示输入密码?二、“install.sh”如何结束?它可能会退出;因为它在同一个 shell 中运行,所以会导致您的 shell 退出。为了防止这种情况发生,您可能希望在辅助 shell 中运行它,通常通过使用类似sh ./install.sh.

    • 1

相关问题

  • Mac OS X:从 python 脚本中更改 $PATH

  • Bash 脚本:要求脚本以 root 身份运行(或使用 sudo)

  • crontab ifconfig 什么都不输出

  • 使用命令行工具按排序顺序计算重复项

  • 是否有 bash 等效于 ruby​​ 的“一些内容#{foo}”?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve