[20161130]快速进入目录.txt
--要建立如下相似链接,便于快速访问
adump -> /u01/app/oracle/admin/${ORACLE_SID}/adump
bdump -> /u01/app/oracle/diag/rdbms/${ORACLE_SID}/${ORACLE_SID}/trace
dbs -> /u01/app/oracle/product/11.2.0.4/db_1/dbs
diag -> /u01/app/oracle/diag
net -> /u01/app/oracle/product/11.2.0.4/db_1/network/admin
ob -> /u01/app/oracle
oh -> /u01/app/oracle/product/11.2.0.4/db_1
tns -> /u01/app/oracle/product/11.2.0.4/db_1/network/admin
udump -> /u01/app/oracle/diag/rdbms/${ORACLE_SID}/${ORACLE_SID}/trace
--前几天在协助同事配置dg时,在各种目录下切来切去,非常繁琐,主要还有一个原因就是同事使用的目录结构与我安装的目录结构不一
--样。非常浪费时间,加上没有安装tmux,工作起来非常不顺手。
--很久以前我写过一篇 [20120207]快速进入各种目录.txt => http://blog.itpub.net/267265/viewspace-715812/
--下午抽空写一个脚本,这样以后能快一点建立链接。
$ cat fastlink.sh
#! /bin/bash
#
# fast cd directory (11g)
[ ! -z $ORACLE_SID ] || { echo 'setup ORACLE_SID' ; exit 1 ; }
[ ! -z $ORACLE_BASE ] || { echo 'setup ORACLE_BASE' ; exit 2 ; }
[ ! -z $ORACLE_HOME ] || { echo 'setup ORACLE_HOME' ; exit 3 ; }
echo ORACLE_SID = $ORACLE_SID
echo ORACLE_BASE = $ORACLE_BASE
echo ORACLE_HOME = $ORACLE_HOME
read -p "check variable , ctrl_c exit:" a
mkdir -p /home/oracle/fastlink && cd /home/oracle/fastlink || exit 4
otrace=`sqlplus -S / as sysdba <<EOF
set head off
select VALUE from v\\$parameter where name='user_dump_dest';
quit
EOF
`
oadump=`sqlplus -S / as sysdba <<EOF
set head off
select VALUE from v\\$parameter where name='audit_file_dest';
quit
EOF
`
echo $otrace
echo $oadump
[ ! -z $otrace ] || exit 5
[ ! -z $oadump ] || exit 6
[ -d $oadump ] && ln -s $oadump adump
[ -d $otrace ] && ln -s $otrace bdump
[ -d $ORACLE_HOME/dbs ] && ln -s $ORACLE_HOME/dbs dbs
[ -d $ORACLE_BASE/diag ] && ln -s $ORACLE_BASE/diag diag
[ -d $ORACLE_HOME/network/admin ] && ln -s $ORACLE_HOME/network/admin net
[ -d $ORACLE_HOME/network/admin ] && ln -s $ORACLE_HOME/network/admin tns
[ -d $ORACLE_HOME ] && ln -s $ORACLE_HOME oh
[ -d $ORACLE_BASE ] && ln -s $ORACLE_BASE ob
[ -d $otrace ] && ln -s $otrace udump
--很久不写bash shell脚本了,能力退化不少,注意一个小问题
[ ! -z $ORACLE_HOME ] || { echo 'setup ORACLE_HOME' ; exit 3 ; }
--如果最后没有分号,如果写成[ ! -z $ORACLE_HOME ] || { echo 'setup ORACLE_HOME' ; exit 3 }这样,执行会出现如下错误:
$ bash -x fastlink.sh
-bash: /home/oracle/bin/fastlink.sh: line 46: syntax error: unexpected end of file
--根本不存在这行,浪费许多时间,以后注意。不保证在别的机器正常执行,严格讲脚本不是很严谨^_^。
--再补充一点 最好建立一个别名
alias cdp='cd -P '
--这样提示显示正确的目录名。我自己使用一个函数:
cdp() {
if [ ! -d ~/fastlink ] ; then
echo 'not fount ~/fastlink! create it'
return 1
fi
if [ -z $1 ] ; then
cd ~/fastlink
ll
return 0
fi
if [ -n $1 ] ; then
if [ -L $1 ] ; then
cd -P $1
return 0
fi
if [ -L ~/fastlink/$1 ] ; then
cd -P ~/fastlink/$1
return 0
fi
fi
echo "not found directory $1 !!"
}
--这个也不能保证正确,仅仅我自己自用。^_^。