linux command Line and shell script bible(笔记十七)

26 篇文章 0 订阅
23.4在脚本中使用数据库
1.查找数据库程序:which mysql
*把命令查找结果赋给一个变量,然当要引用对应的程序时就在shell脚本中使用这个变量即可运行程序。
MYSQL=`which mysql`
$MYSQL test -u love1 -p
*避免从命令行繁琐地输入密码又避免把密码写入脚本中,可以使用$HOME/.my.cnf文件来读取特殊的启动命令和设置。其中一项设置由该用户账户发起的mysql会话的默认密码。
(只要把用户的密码写入配置文件中即可,当密码相应的用户登录时不用输入密码就能登录)
$cat .my.cnf
[client]
password = 'password1'
password = 'password2'
注意:要注意保护此文件,最好把权限也修改到最安全状态

23.4.2 向服务器发送命令
*发送单个命令并退出:发送单个命令必须将命令作为mysql或psql命令行的一步分包含进去。且需要用-e參數
MYSQL=`which mysql`
$MYSQL test -u test -e ' select * from person'
 
*發送多條sql命令,可以使用文件重定向(參考14.3 exec 0< file 會告訴shell從文件獲得輸入,而不是STDIN)
另外要在shell脚本中重定向行,必须定义一个结束字符串。结束字符串指明了重定向数据的开始和结尾

MYSQL=`which mysql`
$MYSQL test -u test <<EOF
show tables;
select * from person;
EOF

23.4.3 格式化数据,
1.将输出赋给变量
MYSQL=`which mysql`
dbs=`$MYSQL test -u test -Bse 'show databases' `
for db in $dbs
do
    echo $db
done
##############################################
-B参数指定mysql程序工作在批处理模式下
-s参数,禁止列出标题和格式化符号

2.使用格式化标签:mysql和psql程序都提供了一个以HTML格式显示结果的选项。两个程序都可一用-H命令行参数来实现此功能。
mysql可以用-X命令行参数来输出:
$mysql test -u test -X -e 'select * from person'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值