Jack Wallen explica el comando fuente de Linux a modo de ejemplo.
Imagen: Larich / Shutterstock
Obtener un archivo en Linux es un concepto muy importante, pero es posible que no sea uno de los que utilizará al principio de su carrera en Linux. Aun así, voy a intentar explicar este concepto desafiante de una manera que puedas entenderlo.
Obtener un archivo hace posible que un ejecutable “obtenga” información de un script como si el script hubiera impreso su salida en el terminal. No es un concepto fácil de comprender, así que te lo voy a mostrar a modo de ejemplo.
VER: 5 distribuciones de servidor Linux que debería usar (TechRepublic Premium)
Comencemos con un script de shell, llamado sudocheck.sh que contiene algunas líneas simples de código que advierten que cualquier script que use su salida debe ejecutarse con privilegios sudo. Ese script podría verse así:
check_root () { if [[ $EUID -ne 0 ]]; then echo "You must run this script with sudo privileges" exit 1 fi }
A continuación, crearemos un archivo ejecutable, llamado checksudo.sh, que usará la salida de sudocheck.sh e imprimirá si la ejecución se ha realizado con privilegios de sudo. Ese archivo podría verse así:
#!/usr/bin/env bash source sudocheck.sh check_root echo "I have sudo privileges"
El archivo checksudo.sh generará el archivo sudocheck.sh y usará la salida resultante.
Antes de que realmente ejecutemos el archivo, emita el comando chmod u + x checksudio.sh. Ahora, emita el comando ./checksudo.sh y debería ver impreso “Debe ejecutar este script con privilegios de sudo”.
Sin embargo, si ejecuta el comando sudo ./checksudo.sh verá que tengo los privilegios de sudo impresos. Entonces, el segundo script usa la salida del primero como fuente de entrada.
VER: Rust: lo que los desarrolladores deben saber sobre este lenguaje de programación (PDF gratuito) (TechRepublic)
Al utilizar este dispositivo, puede crear scripts más optimizados que originen varios archivos. También puede usar el comando de origen en sus scripts para leer archivos de configuración, para ahorrar espacio y tiempo.
Y ese es el comando de origen en pocas palabras … o un shell bash, sin embargo, quieres verlo.