linux - 获取命令的输出并将其插入到 bash 脚本中

标签 linux bash scripting

我有一个相当简单的 bash 脚本,我需要让它变得更复杂一些,但我不确定如何去做。到目前为止,脚本是这样的:

    #!bin/bash

    if rails -v | grep -q "3.2"
     then
    echo "Rails 3.2 installed. Uninstalling and adding Rails 3.1.4."
    gem uninstall rails -v=$version
    gem install rails -v=3.1.4
     else
    echo "Rails 3.2 not installed. Exiting."
    exit 1
 fi

如您所见,它并不完整而且非常基础。这个脚本的总体目标是查看所述服务器是否安装了 rails 3.2.x,如果是,则卸载它并安装 rails 3.1.4。除了将所需版本实际插入到“gem uninstall”部分之外,我已经涵盖了所有内容。 $version 部分应该替换为服务器上 rails -v 输出的版本号。

如有任何帮助,我们将不胜感激。

谢谢。

最佳答案

有点像

gem uninstall rails -v=$(rails -v | grep -o "3.2.*")

定制您的正则表达式以仅匹配版本号,并且 grep 将输出那个。

关于linux - 获取命令的输出并将其插入到 bash 脚本中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10839842/

相关文章:

linux - 试图创建一个文件来调用另一个文件进行循环搜索

linux - 什么是充分利用 csh 或 tcsh 的好资源?

bash - 如何在 Bash 中以分隔符 ` 分割字符串?

bash - 如何使用 Bash 抑制命令的所有输出?

bash - 使用 GitHub Actions 循环多个文件

c# - Roslyn/CSharpScript - 如何保存/加载编译以避免编译等待时间

linux - 远程服务器的 JProfiler 离线模式

c++ - usleep vs std::this_thread::sleep_for,在 linux 串行端口上写入/读取时

linux - SVN错误: Subcommand 'help' doesn't accept option '--no-auth-cache'

javascript - 为动态 OO 程序实现现有的脚本语言