加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 测试当前目录是否在Rails项目中(bash)

发布时间:2020-12-17 02:35:43 所属栏目:百科 来源:网络整理
导读:有没有一种简单的方法来测试当前目录是否在rails项目中?很明显,Rails本身测试这个是为了使用rails子命令(generate,scaffold等),所以可能有一种直接的方法来测试它. 我正在寻找类似于test if you’re inside a Git repo的东西. 解决方法 我知道你已经有了rub
有没有一种简单的方法来测试当前目录是否在rails项目中?很明显,Rails本身测试这个是为了使用rails子命令(generate,scaffold等),所以可能有一种直接的方法来测试它.

我正在寻找类似于test if you’re inside a Git repo的东西.

解决方法

我知道你已经有了ruby的解决方案,但这里有一个用bash写的,应该会快一点.

假设您正在使用Bundler:

grep 'rails' 'Gemfile' >/dev/null 2>&1
if [ $? -eq 0 ]; then
  echo "It's a Rails project!"
fi

这就是该片段的作用:

> Grep当前目录中的Gemfile为’rails’.丢弃grep的输出.
>如果grep以退出代码0退出,那么您就在Rails项目中

如果当前目录中不存在名为“Gemfile”的文件,则grep’rails”Gemfile’将返回状态代码2.如果找到’Gemfile’但grep将返回状态代码1,但它不包含’rails’.

对于没有Bundler的Rails 2,这应该工作:

if [ -f script/rails ]; then
  echo "It's a Rails 2 project!"
fi

所有这一切都是测试脚本/ rails文件是否存在.

我希望这能帮助那些希望用bash代替ruby的人.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读