我有一个相当简单的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输出的版本号。
对此有任何帮助表示赞赏。
感谢。
答案 0 :(得分:1)
像
这样的东西gem uninstall rails -v=$(rails -v | grep -o "3.2.*")
定制正则表达式以匹配版本号,和 grep会输出那个。
答案 1 :(得分:0)
gem uninstall rails -v=$( rails -v )
答案 2 :(得分:0)
尝试用引号括起来,例如:gem uninstall rails -v="$( rails -v | sed 's/.* //' )"
。