求助:用什么命令可以去掉多余的换行符?
时间:2011-06-21
来源:互联网
我写了一个程序,用到了mysql数据库,在运行该程序前,需要启动mysqld服务,我想把这个启动过程自动化,具体来说就是写一个脚本程序,运行时检查系统内mysqld程序是否已经启动,如果已启动就直接调用我的程序就完了;如果没有启动,就启动mysqld服务,之后再运行我的程序,在用户退出我的程序后,脚本又关闭mysqld。脚本如下:
脚本用"ps aux | grep '/usr/sbin/mysqld' | wc -l"来判断系统内是否有mysqld进程,若没有,该命令的结果为1,即只有1行结果,为:
这样的,若mysqld进程已经运行,该命令结果为2,
但是运行脚本程序后结果如下:
若在shell里手动运行"sudo start mysql"启动mysql服务,则顺利进入程序。
因此我想请教各位:在Shell脚本里如何启动mysql服务程序?谢谢!
最后由 zwdnet 编辑于 2011-06-21 19:41,总共编辑了 1 次
代码:
#!/bin/sh
#判断mysqld服务程序是否已经运行
res=$(ps aux | grep '/usr/sbin/mysqld' | wc -l)
#如果mysqld服务程序没有运行,则启动,否则不启动
if [ $res -gt 1 ]
then
bstop=1
sudo start mysql #这么写对吗?好像没有起作用
else
bstop=0
fi
echo $bstop
libmanager #我写的图书管理程序
#若程序启动了mysqld服务程序,则在结束时将其关闭
if [ $bstop eq 1 ]
sudo stop mysql
if
exit 0
#判断mysqld服务程序是否已经运行
res=$(ps aux | grep '/usr/sbin/mysqld' | wc -l)
#如果mysqld服务程序没有运行,则启动,否则不启动
if [ $res -gt 1 ]
then
bstop=1
sudo start mysql #这么写对吗?好像没有起作用
else
bstop=0
fi
echo $bstop
libmanager #我写的图书管理程序
#若程序启动了mysqld服务程序,则在结束时将其关闭
if [ $bstop eq 1 ]
sudo stop mysql
if
exit 0
脚本用"ps aux | grep '/usr/sbin/mysqld' | wc -l"来判断系统内是否有mysqld进程,若没有,该命令的结果为1,即只有1行结果,为:
代码:
XXX 28625 0.0 0.0 3596 748 pts/1 S+ 19:16 0:00 grep --color=auto /usr/sbin/mysqld
这样的,若mysqld进程已经运行,该命令结果为2,
代码:
sudo /etc/init.d/mysql start
[sudo] password for XXX:
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
mysql start/running, process 28698
XXX@XXX-freedom:~/bin$ ps aux | grep '/usr/sbin/mysqld'
mysql 28698 9.5 1.7 129168 17668 ? Ssl 19:17 0:00 /usr/sbin/mysqld
XXX 28781 0.0 0.0 3596 744 pts/1 S+ 19:17 0:00 grep --color=auto /usr/sbin/mysqld
[sudo] password for XXX:
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
mysql start/running, process 28698
XXX@XXX-freedom:~/bin$ ps aux | grep '/usr/sbin/mysqld'
mysql 28698 9.5 1.7 129168 17668 ? Ssl 19:17 0:00 /usr/sbin/mysqld
XXX 28781 0.0 0.0 3596 744 pts/1 S+ 19:17 0:00 grep --color=auto /usr/sbin/mysqld
但是运行脚本程序后结果如下:
代码:
./libmanager.sh
0
请输入用户名:XXX
连接MySQL数据库失败,失败代码:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
初始化数据库失败,请启动mysql服务器,方法: sudo /etc/init.d/mysql start
或输入正确的用户名及密码
[: 22: 0: unexpected operator
0
请输入用户名:XXX
连接MySQL数据库失败,失败代码:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
初始化数据库失败,请启动mysql服务器,方法: sudo /etc/init.d/mysql start
或输入正确的用户名及密码
[: 22: 0: unexpected operator
若在shell里手动运行"sudo start mysql"启动mysql服务,则顺利进入程序。
因此我想请教各位:在Shell脚本里如何启动mysql服务程序?谢谢!
最后由 zwdnet 编辑于 2011-06-21 19:41,总共编辑了 1 次
作者: zwdnet 发布时间: 2011-06-21
sorry,我发现哪错了,条件判断反了,倒过来就对了!


代码:
if [ $res -gt 1 ]
then
bstop=0
else
bstop=1
sudo start mysql
fi
then
bstop=0
else
bstop=1
sudo start mysql
fi
作者: zwdnet 发布时间: 2011-06-21
我写了一个程序,用到了mysql数据库,在运行该程序前,需要启动mysqld服务,我想把这个启动过程自动化,具体来说就是写一个脚本程序,运行时检查系统内mysqld程序是否已经启动,如果已启动就直接调用我的程序就完了;如果没有启动,就启动mysqld服务,之后再运行我的程序,在用户退出我的程序后,脚本又关闭mysqld。脚本如下:
脚本用"ps aux | grep '/usr/sbin/mysqld' | wc -l"来判断系统内是否有mysqld进程,若没有,该命令的结果为1,即只有1行结果,为:
这样的,若mysqld进程已经运行,该命令结果为2,
但是运行脚本程序后结果如下:
若在shell里手动运行"sudo start mysql"启动mysql服务,则顺利进入程序。
因此我想请教各位:在Shell脚本里如何启动mysql服务程序?谢谢!
最后由 zwdnet 编辑于 2011-06-21 19:41,总共编辑了 1 次
代码:
#!/bin/sh
#判断mysqld服务程序是否已经运行
res=$(ps aux | grep '/usr/sbin/mysqld' | wc -l)
#如果mysqld服务程序没有运行,则启动,否则不启动
if [ $res -gt 1 ]
then
bstop=1
sudo start mysql #这么写对吗?好像没有起作用
else
bstop=0
fi
echo $bstop
libmanager #我写的图书管理程序
#若程序启动了mysqld服务程序,则在结束时将其关闭
if [ $bstop eq 1 ]
sudo stop mysql
if
exit 0
#判断mysqld服务程序是否已经运行
res=$(ps aux | grep '/usr/sbin/mysqld' | wc -l)
#如果mysqld服务程序没有运行,则启动,否则不启动
if [ $res -gt 1 ]
then
bstop=1
sudo start mysql #这么写对吗?好像没有起作用
else
bstop=0
fi
echo $bstop
libmanager #我写的图书管理程序
#若程序启动了mysqld服务程序,则在结束时将其关闭
if [ $bstop eq 1 ]
sudo stop mysql
if
exit 0
脚本用"ps aux | grep '/usr/sbin/mysqld' | wc -l"来判断系统内是否有mysqld进程,若没有,该命令的结果为1,即只有1行结果,为:
代码:
XXX 28625 0.0 0.0 3596 748 pts/1 S+ 19:16 0:00 grep --color=auto /usr/sbin/mysqld
这样的,若mysqld进程已经运行,该命令结果为2,
代码:
sudo /etc/init.d/mysql start
[sudo] password for XXX:
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
mysql start/running, process 28698
XXX@XXX-freedom:~/bin$ ps aux | grep '/usr/sbin/mysqld'
mysql 28698 9.5 1.7 129168 17668 ? Ssl 19:17 0:00 /usr/sbin/mysqld
XXX 28781 0.0 0.0 3596 744 pts/1 S+ 19:17 0:00 grep --color=auto /usr/sbin/mysqld
[sudo] password for XXX:
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
mysql start/running, process 28698
XXX@XXX-freedom:~/bin$ ps aux | grep '/usr/sbin/mysqld'
mysql 28698 9.5 1.7 129168 17668 ? Ssl 19:17 0:00 /usr/sbin/mysqld
XXX 28781 0.0 0.0 3596 744 pts/1 S+ 19:17 0:00 grep --color=auto /usr/sbin/mysqld
但是运行脚本程序后结果如下:
代码:
./libmanager.sh
0
请输入用户名:XXX
连接MySQL数据库失败,失败代码:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
初始化数据库失败,请启动mysql服务器,方法: sudo /etc/init.d/mysql start
或输入正确的用户名及密码
[: 22: 0: unexpected operator
0
请输入用户名:XXX
连接MySQL数据库失败,失败代码:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
初始化数据库失败,请启动mysql服务器,方法: sudo /etc/init.d/mysql start
或输入正确的用户名及密码
[: 22: 0: unexpected operator
若在shell里手动运行"sudo start mysql"启动mysql服务,则顺利进入程序。
因此我想请教各位:在Shell脚本里如何启动mysql服务程序?谢谢!
最后由 zwdnet 编辑于 2011-06-21 19:41,总共编辑了 1 次
作者: zwdnet 发布时间: 2011-06-21
sorry,我发现哪错了,条件判断反了,倒过来就对了!


代码:
if [ $res -gt 1 ]
then
bstop=0
else
bstop=1
sudo start mysql
fi
then
bstop=0
else
bstop=1
sudo start mysql
fi
作者: zwdnet 发布时间: 2011-06-21
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28