tengo 2 variables
VAL1="C70AN"
VAL2="MBA30"
y tengo un directorio en mi sistema/opt/web/C70/MBA/
¿Cómo puedo ir a este directorio usando variables?
Por ejemplocd /opt/web/$VAL1/$VAL2
¿Cómo puedo extraer el texto particular de la variable en el script de Shell?
Respuesta1
La respuesta de @Anthon es perfectamente correcta, aunque en mi opinión implica escribir demasiado. Sugiero definir una función de shell (bash) llamada (por ejemplo) "mycd" como contenedor:
function mycd {
cd /opt/web/${VAL1:0:3}/${VAL2:0:3}
}
Ahora, sin importar los valores que tengan actualmente las variables $VAR1 y $VAR1, llamar a esta función cambiará el directorio a la ubicación esperada.
Pruebe el siguiente ejemplo en una terminal bash en ejecución, presionando ENTER al final de cada ventana de línea 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 ejemplo, por supuesto, requiere la existencia del árbol de directorios "/opt/web/C70/MBA" para funcionar. Si este no es el caso, recibirá un mensaje de error como
bash: cd: /opt/web/C70/MBA: file or directory not found
Este resultado sigue siendo una prueba del correcto funcionamiento de la función "mycd" mientras intenta cambiar al directorio calculado, que (todavía) no existe.
HTH también