Linux小知识(1): bash中执行数据库的相关操作

时间:2023-03-09 09:36:53
Linux小知识(1): bash中执行数据库的相关操作

工作中经常会遇到命令行操作数据库或登陆至其他服务器等情况,往往需要通过命令行进入相关的数据库或登陆至相关的服务器,再执行指令操作,因此有没有方法,在命令行或bash脚本中模拟进入数据库或登陆服务器操作呢?本文将对这一现状进行探讨!

1. Here Document

Here document 是linux shell中一种特殊的重定向方式,其格式为:

cmd << delimiter
Here document content
delimiter

其作用在于将两个分隔符delimiter之间的内容"Here document content"传递给执行命令cmd作为参数。

2. Bash脚本

通过1中所述方法,可以实现模拟登陆数据库,并执行数据库相关的操作,也可实现其他类似的操作

1) 执行mongo操作

#!/bin/bash

source ~/.bashrc
MONGO_BIN=/usr/bin/ $MONGO_BIN/mongo 127.0.0.1: << EOF
use test_db
db.test_table.find().count()
EOF

2) 执行mysql操作

#!/bin/bash

source ~/.bashrc
MYSQL_BIN=/usr/bin/ $MYSQL_BIN/mysql -h 127.0.0.1 -utest -ptest << EOF
use test_db
select count(*) from SongInfo;
EOF

3) 登陆ftp服务器

#!/bin/bash

source ~/.bashrc

ftp -niv <<- EOF
open ip port
user username passward
bin
get $
bye
EOF