Rails3:如何使用 shell 脚本执行 Rails 命令(如“railsgenerate”)
我需要能够通过执行 Linux shell 脚本来生成模型(以及稍后的迁移)。
该脚本直接位于应用程序文件夹中,如下所示:
#!/bin/bash
cd /home/<my_user_profile>/Websites/<my_app_name>
rails g model my_model name:string accepted:boolean [etc...]
问题是:当我执行脚本时,不会创建模型。有什么想法吗?
I need to be able to generate a model (and later a migration) by executing a Linux shell script.
The script is located directly in the app folder and looks like this:
#!/bin/bash
cd /home/<my_user_profile>/Websites/<my_app_name>
rails g model my_model name:string accepted:boolean [etc...]
The problem is: When I execute the script, the model does not get created. Any ideas why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试
Try
为了确保它在您的 shell 所在的相同上下文中执行,请删除 shebang 以避免启动另一个可能与您当前的 shell 相同或不同的
bash
。如果您使用的是 rvm/similar,则需要 (a) 有一个默认值,(b) 指定版本/gemset,或者 (c) 依赖类似 rvm 的
cd
欺骗。否则,应该工作得很好——它适合我(没有 shebang,所以它将使用我当前所处的任何 rvm 环境)。
To make sure it's executing in the same context your shell is in, remove the shebang to avoid starting up another
bash
which may or may not be the same as your current shell.If you're using rvm/similar, you'd need to either (a) have a default, (b) specify version/gemset, or (c) rely on rvm-like
cd
fudgery.Otherwise, should work just fine--it is for me (w/o the shebang, so it'll use whatever current rvm environment I'm in).