【发布时间】:2015-12-13 10:05:48
【问题描述】:
我正在创建这个 ksh shell 脚本来比较用户输入的两个数据库名称中的 Oracle 主目录。
我尝试使用来自各个线程的cat 和sed,但不知何故无法将 oracle home 值放入变量中进行比较。
Oratab:
db1:/oracle/app/oracle/product/11.2.0.3:Y
db2:/oracle/app/oracle/product/11.2.0.3:N
#db3:/oracle/app/oracle/product/11.2.0.4:Y
Runtime:
./compare_db db1 db2
#!/bin/ksh
sid1=$1;
sid2=$2;
file=/etc/oratab
function compare {
home1= sed -n "s#${sid1}.*/\(.*\)${sid1}.*#\1#p" $file
home2= sed -n "s#${sid2}.*/\(.*\)${sid2}.*#\1#p" $file
if $home1 = $home2; then
echo "Success"
else
echo "Failure"
fi
}
Output: (I don't want to include last part "N/Y" after the : (colon))
home1 = /oracle/app/oracle/product/11.2.0.3
home2 = /oracle/app/oracle/product/11.2.0.3
db1 = db2
success
显然以上不起作用,仅测试代码,有人评论以及缺少什么或如何以优雅的方式完成?
谢谢,
【问题讨论】: