A resposta do @Anthon está perfeitamente correta, embora isso implique um pouco de IMO ao digitar. Eu sugiro definir uma função shell (bash) chamada (eg.) "Mycd" como um wrapper:
function mycd {
cd /opt/web/${VAL1:0:3}/${VAL2:0:3}
}
Agora, independentemente de quaisquer valores que as variáveis $ VAR1 e $ VAR1 tenham atualmente, chamar essa função mudará o diretório para o local esperado.
Tente o seguinte exemplo em um terminal bash em execução, pressionando ENTER no final de cada janela da linha de entrada):
user% cd; pwd
/home/user
user% function mycd { cd /opt/web/${VAL1:0:3}/${VAL2:0:3} }
user% export VAL1="C70AN"; export VAL2="MBA30"
user% mycd
user% pwd
/opt/web/C70/MBA
user%
Este exemplo requer a existência da árvore de diretórios "/ opt / web / C70 / MBA" para funcionar. Se este não for o caso, você receberá uma mensagem de erro como
bash: cd: /opt/web/C70/MBA: file or directory not found
Este resultado ainda é uma prova para o trabalho correto da função "mycd" enquanto ele tenta mudar para o diretório calculado - o qual (ainda) não existe.
HTH, também