[转]Shell脚本中获取SELECT结果值的方法
http://blog.itpub.net/13885898/viewspace-1670297/
有时候我们可能会需要在Shell脚本中执行SELECT语句,并将结果赋值给一个变量,对于这样的情形,我们可以用以下的方法来达到目的。
点击(此处)折叠或打开
- #!/bin/ksh
- #
- # Created : 2015.05.25
- # Updated : 2015.05.25
- # Author : Jet Chenxi Zhang
- # Description : Get SELECT result in Shell
- # Variable Definitions #
- ORACLE_SID=audtest
- ORACLE_HOME=/app/oracle/product/database/11.2.0/db_1
- PATH=$PATH:$ORACLE_HOME/bin
- DBNAME=
- # Get Database name by quering v$database #
- DBNMAE=`
- sqlplus -s /nolog <<EOF
- set echo off feedback off heading off underline off;
- conn / as sysdba;
- select name from v\\$database;
- exit;
- EOF`
- echo "Database name: "$DBNMAE
如上代码,可以将获取Database Name,执行结果如下:
- [oracle@hxddcx02 ~]$ ./query_dbname.sh
- Database name: AUDTEST
可以看到SELECT的结果已被正确赋值给Shell的变量。如果SELECT中有多个列的值,也可以用此方法,只是需要将结果进行分拆,如用awk:
点击(此处)折叠或打开
- #!/bin/ksh
- #
- # Created : 2015.05.25
- # Updated : 2015.05.25
- # Author : Jet Chenxi Zhang
- # Description : Get SELECT results in Shell
- # Variable Definitions #
- ORACLE_SID=audtest
- ORACLE_HOME=/app/oracle/product/database/11.2.0/db_1
- PATH=$PATH:$ORACLE_HOME/bin
- QUERYRES=
- DBID=
- DBNAME=
- # Get Database name by quering v$database #
- QUERYRES=`
- sqlplus -s /nolog <<EOF
- set echo off feedback off heading off underline off;
- conn / as sysdba;
- select dbid, name from v\\$database;
- exit;
- EOF`
- DBID=`echo $QUERYRES | awk -F' ' '{print $1}'`
- DBNAME=`echo $QUERYRES | awk -F' ' '{print $2}'`
- echo "Database ID: "$DBID
- echo "Database name: "$DBNAME
运行结果如下:
- [oracle@hxddcx02 ~]$ ./query_dbname2.sh
- Database ID: 811711272
- Database name: AUDTEST
[转]Shell脚本中获取SELECT结果值的方法的更多相关文章
- Shell脚本中获取select值
最近做一个数据清理,根据行号清理,所以需要查出这个行的最大最小值出来进行删除,如果靠手动每次去查,太麻烦所以就用在sh脚本当中执行SELECT语句,并将结果赋值给一个变量. sh脚本如下 #! /bi ...
- Linux Shell脚本中获取本机ip地址方法
ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" 命令解释 ...
- shell脚本中获取当前所在目录地址
shell脚本中获取当前所在目录如下 #!/bin/bash work_path=$() cd ${work_path} work_path=$(pwd) cd ${work_path}/src
- Shell脚本中判断输入参数个数的方法投稿:junjie 字体:[增加 减小] 类型:转载
Shell脚本中判断输入参数个数的方法 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Shell脚本中判断输入参数个数的方法,使用内置变量$#即可实现判断输入了多少个参数 ...
- linux,shell脚本中获取脚本的名字,使用脚本的名字。
需求描述: 写shell脚本的过程中,有时会需要获取脚本的名字,比如,有的时候,脚本 中会有usage()这种函数,可能就会用到脚本的名字. 实现方法: shell脚本中,通过使用$0就可以获取到脚本 ...
- 如何在shell脚本中获取当前用户名?
答:使用环境变量USER即可 如在脚本中打印当前用户名; #!/bin/sh echo "user name = ${USER}"
- JAVA中获取文件MD5值的方法
1 DigestUtils.md5Hex(new FileInputStream(path)); 如果你只需要使用标准的MD5,其实一行代码就够了,JAVA自带的commons-codec包就提供了获 ...
- shell脚本中case select 的使用
#!/bin/bash # case echo "1.Install PHP" echo "2.Install Mysql" echo "3.Inst ...
- shell脚本中获取本机ip地址的方法
ipaddr='172.0.0.1' ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/ ...
随机推荐
- 〖Linux〗(2013.08.02)使用ctag+cscope查看Android源代码
1. 安装ctags和cscope sudo apt-get install -y exuberant-ctags cscope 2. vimrc中的配置 """&quo ...
- Android系统源代码——所需工具
一.概述 众所周知,Android移动操作系统是Google花费了很大的财力.物力及人力的前提下,推广到世界各个角落,以开放源代码的方式(当然也不是完全开放所有),使其在世界范围内迅速漫延开来,到目前 ...
- C#USB录像视频拍照-代码
论坛帖:http://bbs.csdn.net/topics/390536016 using System; using System.Collections.Generic; using Syste ...
- C++模板类内友元(友元函数,友元类)声明的三种情况
根据<C++ Primer>第三版16.4节的叙述,C++类模板友元分为以下几种情况 1.非模板友元类或友元函数. 书上给了一个例子: class Foo{ void bar(); ...
- GPS项目小结
GPS项目中涉及到的技术有地图纠偏,js与winform c#的交互等方面: 1 google地图纠偏,能够私下call我...QQ(964877814)....,事实上主要由于考虑到政治以及军 ...
- dbcp数据库连接池管理
该包主要是管理数据库的链接,获取链接.释放连接.设置最大连接数.初始化连接数.回收的空闲时间 在连接数据库时创建一个连接池可以很方便的管理所有数据库链接,和高效的使用数据库连接. 主要的两个对象是Ba ...
- 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM 各公共网关接口介绍
CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上. CGI可以用任何一 ...
- shell监控脚本实例—监控mysql主从复制
分享一例shell脚本,用于监测mysql数据库的主从复制,有需要的朋友不妨参考学习下. 转自:http://www.jbxue.com/article/14103.html(转载请注明出处) 本节内 ...
- PCIe调试心得_DMA part1
作者 :East FPGA那点事儿 1.PCIe的DMA介绍在PCIe中需要使用DMA的项目,一定要先看XAPP1052,里面包含一个DMA的参考设计,对初学者有极大的帮助. XAPP1052中包含 ...
- shell脚本中执行mysql命令
1.mysql -hhostname -uuser -ppsword -e "mysql_cmd" 2. mysql -hhostname -uuser -ppsword < ...