主要内容
1. shell 基础补充
2. shell脚本与 SQL*PLUS
shell 基础补充
- $(()) 中内容被看做是算术表达式, 其中的变量有没有”$”都可以, 例如 result = $((var1 + var2)) echo $((var1++))
- if condition ; then
elif condition ; then
else
fi 注意: 如果 then 另起一行写的话, 就可以不用 ; 号
- 条件测试, test, [] [[]] (()), 其中 test 等价于 [], 当使用“>”或”<”用于比较字符串的要用 [[]] 双括号
- for arg in list; do
command
done
for ((a=1; a<=100; a++))
do
sum = sum + 1
done
- while condition ; do
command
done
shell 脚本与 SQL*PLUS
- 在shell脚本中调用 sql*plus, 例如: cat sqlplus.sh
- 把 sql 查询结果赋给 shell 变量
1. 查询结果直接赋值给变量
2. 在使用exit命令退出sql*plus时, 把sql查询结果作为附加退出状态值, 这个值默认存入$?系统变量, 使用 col new_value使得SQL语句可以使用变量
在 sql*plus 中使用column
row_namenew_value
variable_name
- 把shell程序参数传递给sql命令
使用 $1 将参数传递给sql,
- shell 中常用的 sql*plus 环境设置
-silent, 会将sql提示符及 sqlplus 信息全部不显示, 交互式不要使用
set pagesize 0
set feedback off
set heading off
set verify off 在 sql 脚本中使用了变量, 在执行这个sql脚本时, 默认会显示变量值的确认信息, 如果不需要这种信息, 就设置off
set echo off 不显示脚本内容
set termout off 不显示执行结果
- 调用 sql * plus 口令安全
将密码保存在变量内, 执行脚本时, 给予变量形参.
从文件导入口令, echo ‘tiger’ >scott.pw, chmod g-rwx, o-rwx scott.pw, 设置文件属性, 执行脚本