创建与数据库、web、邮件相关的shell
时间:2021-07-01 10:21:17
帮助过:25人阅读
<<EOF
show tables;
select * from employees where salary > 40000;
EOF -- 只返回了原始数据而不是在数据两边加上ASCII符号框,将有利于提取个别的数据元素
向数据库中插入数据并检查是否成功
MYSQL=$(which mysql)
if [ $# -ne 4 ]
then
echo "Usage: mtest3 empid lastname firstname salary"
else
statement="INSERT INTO employees VALUES ($1, ‘$2‘, ‘$3‘, $4)"
$MYSQL mytest -u test << EOF
$statement
EOF
if [ $? -eq 0 ]
then
echo Data successfully added
else
echo Problem adding data
fi
fi
3. 格式化数据
MYSQL=$(which mysql)
dbs=$($MYSQL mytest -u ly_ibas -Bse ‘show databases‘) -- 。 -B 选项指定mysql程序工作在批处理模式运行, -s 选项用于禁止输出列标题和格式化符号
for db in $dbs
do
echo $db
done
通过使用XML,标识出每条记录以及记录中的各个字段值。然后可以使用标准的Linux字符串处理功能来提取需要的数据
$ mysql mytest -u ly_ibas -X -e ‘select * from employees where empid = 1‘
<?xml version="1.0"?> -- 以xml返回的数据
<resultset statement="select * from employees">
<row>
<field name="empid">1
</field>
<field name="lastname">Blum
</field>
<field name="firstname">Rich
</field>
<field name="salary">25000
</field>
</row>
</resultset>
$
使用 Web
Web页面由三种类型的数据组成:
HTTP头部 -- HTTP头部提供了连接中传送的数据类型、发送数据的服务器以及采用的连接安全类型的相关信息
cookie -- 网站用cookie存储有关网站的访问数据,以供将来使用
HTML内容
安装 Lynx
Lynx程序使用了Linux中的curses文本图形库。大多数发行版会默认安装这个库,如果没有安装,可以从lynx.isc.org网站上下载源码并编译(假定你已经在Linux系统上安装了C开发库)
lynx 命令行
Lynx程序支持三种不同的格式来查看Web页面实际的HTML内容:
在终端会话中利用curses图形库显示文本图形;
文本文件,文件内容是从Web页面中转储的原始数据;
文本文件,文件内容是从Web页面中转储的原始HTML源码。
lynx格式:
lynx options URL
Lynx 配置文件
位置可能存在于:
/usr/local/lib/lynx.cfg
/etc/lynx.cfg
/etc/lynx-curl
代理服务器可以过滤不良内容和恶意代码,甚至可以发现钓鱼网站,降低网络带宽的使用(缓存了经常浏览的Web页面,并将其返回给客户端)
从 Lynx 中获取数据
lynx 进行屏幕抓取的最简单办法是用 -dump 选项,它会将Web页面文本数据直接显示在 STDOUT 上
URL="http://weather.yahoo.com/united-states/illinois/chicago-2379574/"
LYNX=$(which lynx)
TMPFILE=$(mktemp tmpXXXXXX)
$LYNX -dump $URL > $TMPFILE
conditions=$(cat $TMPFILE | sed -n -f sedcond)
temp=$(cat $TMPFILE | sed -n -f sedtemp | awk ‘{print $4}‘)
rm -f $TMPFILE
echo "Current conditions: $conditions"
echo The current temp outside is: $temp
$ sh weather -- 根据脚本可以制作温度表
Current conditions: Mostly Cloudy
The current temp outside is: 32 °F
使用电子邮件
Mailx程序发送消息的命令行的格式为:
mail [-eIinv] [-a header] [-b addr] [-c addr] [-s subj] to-addr
Mailx命令行参数
参 数 描 述
-a 指定额外的SMTP头部行
-b 给消息增加一个BCC:收件人
-c 给消息增加一个CC:收件人
-e 如果消息为空,不要发送消息
-i 忽略TTY中断信号
-I 强制Mailx以交互模式运行
-n 不要读取/etc/mail.rc启动文件
-s 指定一个主题行
-v 在终端上显示投递细节
#磁盘信息邮件发送
$
date=$(date +%m/%d/%Y)
MAIL=$(which mailx)
TEMP=$(mktemp tmp.XXXXXX)
df -k > $TEMP
cat $TEMP | $MAIL -s "Disk stats for $date" $1 -- 从脚本外部输入URL
rm -f $TEMP
创建与数据库、web、邮件相关的shell
标签:chm select 代码 username ble com date 赋权 sql