[20161130]快速进入目录.txt

[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 !!"
}

--这个也不能保证正确,仅仅我自己自用。^_^。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值