[转]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(/(.*)\/(.*)/ ...
随机推荐
- java反射-获取方法信息
例子代码如下: package com.reflect; import java.lang.reflect.Method; public class ClassUtill { /* * 打印类的信息, ...
- 利用JMX统计远程JAVA进程的CPU和Memory---jVM managerment API
从JAVA 5开始,JDK提供了一些JVM检测的API,这就是有名的java.lang.management 包,包里提供了许多MXBean的接口类,可以很方便的获取到JVM的内存.GC.线程.锁.c ...
- 【TP3.2与TP5.0区别】
Tp3.2 和 Tp5.0之间的区别 5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别. URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正 ...
- Swift 与 Object-C 交互 (Swift版本为:1.2)
这篇文章主要是介绍 Swift 与 Object-C 之间进行交互的代码,主要分为两个部分.一个是 Swift 项目调用 Object-C 的类,另一个是 Object-C 项目调用 Swift 类. ...
- ORM,ORM的原理及测试案例
提纲 一.什么是ORM.二.反射以及Attribute在ORM中的应用.三.创建一个数据库表和表对应的实体model.四.实体model如何映射出数据库表.五.组合ORM映射生成insert语句. ...
- linux 查看CPU、内存大小
查看linux下的cpu.内存和硬盘大小: 查看cpu的方法 1. cat /proc/cpuinfo 或者 更直观的查看cpu的型号命令:dmesg |grep -i xeon 查看内存的方法 2 ...
- atoi 和 itoa
转自:http://www.cnblogs.com/cobbliu/archive/2012/08/25/2656176.html atoi 和 itoa是面试笔试经常要考到的题目,下面两份代码是用C ...
- Python 算法(1) 快速排序
快速排序(quickSort) 快排的思想:首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序. 百度百 ...
- Jquery使容器自适应浏览器窗口
一.几个关键点 1:当文档大小改变时可以通过哪个事件来触发? resize([Data], fn) 可传入data供函数fn处理. 示例: $(window).resize(function(){ a ...
- AngularJS 常用模块书写建议
本文是依据 Angular Style Guide 对 Angular 常用模块书写建议的翻译和总结,仅供参考. IIFE 使用 立即执行函数表达式(Immediately Invoked Funct ...