当前位置: 技术问答>linux和unix
shell常见问题
来源: 互联网 发布时间:2016-04-08
本文导语: 在shell中执行如下代码 #启动postgre sql su - postgres -c "pg_ctl -l /usr/local/pgsql/data/log/log -s -o "-i -p 5432 " start" #创建DB su - postgres -c "createdb test" 但结果却报错 createdb: could not connect to database postgres: FATAL: th...
在shell中执行如下代码
#启动postgre sql
su - postgres -c "pg_ctl -l /usr/local/pgsql/data/log/log -s -o "-i -p 5432 " start"
#创建DB
su - postgres -c "createdb test"
但结果却报错
createdb: could not connect to database postgres: FATAL: the database system is starting
也就是说数据库还没有完全启动就不能操作数据库
问题来了,如何在数据库启动完以后再执行下一条命令?(使用延长一定时间后在执行的方法也可以)
#启动postgre sql
su - postgres -c "pg_ctl -l /usr/local/pgsql/data/log/log -s -o "-i -p 5432 " start"
#创建DB
su - postgres -c "createdb test"
但结果却报错
createdb: could not connect to database postgres: FATAL: the database system is starting
也就是说数据库还没有完全启动就不能操作数据库
问题来了,如何在数据库启动完以后再执行下一条命令?(使用延长一定时间后在执行的方法也可以)
|
可以用 && 试试,在一条命令执行成功后再执行下一条命令.
|
如果是第一次安装数据库,需要启动后才能做别的事。
如果已经安装了数据库,一般可以将数据库设置为开机启动,然后就可以做自己的事。
也就是说,启动数据库操作和操作数据库操作要分离开。
总之,写一个先启动数据库再执行数据库的shell操作,没有意义,至少我没有遇到过。
____________________________________________
《精通Unix下C语言编程与项目实践》
本书以实际应用为目标,直接讲述在产生中最有可能知识,并提供可直接使用的应用编程模板,对初学者尤其有帮助。
本人博客地址:http://zhuyunxiang.csai.cn
如果已经安装了数据库,一般可以将数据库设置为开机启动,然后就可以做自己的事。
也就是说,启动数据库操作和操作数据库操作要分离开。
总之,写一个先启动数据库再执行数据库的shell操作,没有意义,至少我没有遇到过。
____________________________________________
《精通Unix下C语言编程与项目实践》
本书以实际应用为目标,直接讲述在产生中最有可能知识,并提供可直接使用的应用编程模板,对初学者尤其有帮助。
本人博客地址:http://zhuyunxiang.csai.cn