Digamos que eu tenha uma pasta com uma série de links simbólicos:
ussdv103:en195d; default$ pwd
/oradba/app/oracle/admin/database1
ussdv103:en195d; default$ ls -ltr
exp -> /oradba/app/oracle/acfsmounts/global/STREAM2a/database1/exp
dpdump -> /oradba/app/oracle/acfsmounts/global/STREAM2a/database1/dpdump
backup -> /oradba/app/oracle/acfsmounts/global/STREAM2a/database1/backup
Em seguida, emito os seguintes comandos para vinculá-lo a um diretório STREAM diferente:
unlink $ORACLE_BASE/admin/database1/backup
unlink $ORACLE_BASE/admin/database1/dpdump
unlink $ORACLE_BASE/admin/database1/exp
mkdir -p /oradba/app/oracle/acfsmounts/global/STREAM1a/database1/backup
mkdir -p /oradba/app/oracle/acfsmounts/global/STREAM1a/database1/dpdump
mkdir -p /oradba/app/oracle/acfsmounts/global/STREAM1a/database1/exp
ln -s $ORACLE_BASE/acfsmounts/global/STREAM1a/database1/backup $ORACLE_BASE/admin/database1/backup
ln -s $ORACLE_BASE/acfsmounts/global/STREAM1a/database1/dpdump $ORACLE_BASE/admin/database1/dpdump
ln -s $ORACLE_BASE/acfsmounts/global/STREAM1a/database1/exp $ORACLE_BASE/admin/database1/exp
Então eu usaria o seguinte comando para copiar dados do diretório STREAM antigo para o novo diretório STREAM:
cp -p -r /oradba/app/oracle/acfsmounts/global/STREAM##/database1/ /oradba/app/oracle/acfsmounts/global/STREAM1a/.
Mas eu tenho que substituir ## para que reflita a localização do diretório STREAM antigo, então o comando ficará assim:
cp -p -r /oradba/app/oracle/acfsmounts/global/STREAM2a/database1/ /oradba/app/oracle/acfsmounts/global/STREAM1a/.
Como posso capturar informações sobre o diretório STREAM antigo antes de desvinculá-lo para que meu comando de cópia automaticamente substitua ## pelo local correto do diretório STREAM antigo? Existe uma variável Unix / Linux para a qual eu possa atribuir o antigo link simbólico e então referenciá-lo no comando copy?