将Zeus与Rails一起使用时,我遇到了一个有趣的问题。我的shell脚本编写至少缺乏说法。
好的,所以zeus会在一秒钟内启动一个rails应用程序,并使测试等更快。但是,您必须在任何rails命令之前附加zeus
。示例,zeus generate controller
或zeus rake db:migrate
。我宁愿在运行zeus时保留常规rails命令。示例,rails generate controller
或rake db:migrate
。
我有这三个命令别名
alias rails='zeus'
alias rspec='zeus rspec'
alias rake='zeus rake'
但是,如果zeus没有运行,我会收到此错误
error: Can't connect to master. Run zeus start first.
所以我试图解决的问题是我想使用相同的rails命令是否运行zeus
现在,当我运行zeus start
时,似乎zeus.sock
存在。所以我想我可以检查函数中是否存在zeus.sock
,然后相应地设置别名。我只是不确定最好的方法来做到这一点。我知道如果文件存在并且是套接字,则-S
为真。
if [ -S zeus.sock ]; then
# not sure where to go from here
有人建议最好的方法吗?
提前致谢
答案 0 :(得分:2)
你可以使用一个函数,也许是这样的:
zrail() {
if [ -S zeus.sock ]; then
zeus $*
else
rails $*
fi
}
然后你称之为:
zrail generate controller