Cómo encontrar el directorio donde se encuentra un script bash dentro del script
Mientras Bash Scripting, puede necesitar la ubicación del script para automatizar varias tareas. Hay dos tipos de rutas en Linux:
Una de las formas más comunes de determinar la ubicación de un script bash es usar el pwd dominio. El pwd dominio (Directorio de trabajo de impresión) mostrará el directorio actual.
Entonces, en muchas situaciones simplemente usando pwd El comando no funciona, ya que solo le da la ruta del directorio de trabajo actualmente.
Por ejemplo, si el script está en el Descargas directorio y ser ejecutado desde el Escritorio entonces la salida contendrá el /home/usr/escritorio No es la ubicación del archivo de script bash que es /Inicio/USR/Descargas.
Este tutorial se trata de obtener la ruta del directorio en el que el archivo de script bash se encuentra desde el script.
Cómo obtener la ruta de directorio donde se encuentra el archivo de script de bash
Otra forma de determinar el directorio de un script bash es usar el nombre dominio. El nombre El comando toma una ruta de archivo como argumento y devuelve la parte del directorio de la ruta.
Usar nombre comando para determinar el directorio de un script, llamaría el comando con la ruta hasta los últimos componentes no cableados al script como argumento.
Para más detalles sobre nombre Ejecute los siguientes comandos en el terminal:
$ man dirname
Solo nombre no funcionará, necesitamos otro comando que sea readlink. El readlink Impresión de comando resolvió el enlace simbólico. Obtenga más información sobre este comando ejecutando:
$ hombre readlink
Ahora, crear un script:
$ sudo nano myscript.mierda
Y tipo:
#!/bin/bash
echo "La ruta del script bash es $ (dirname -" $ (readlink -f - "$ 0") ";)";
Para ejecutar el uso de script:
$ bash myscript.mierda
Cambiemos el directorio y veamos cuál es la salida:
Nota: En un caso, el script anterior no funcionará si el archivo se obtiene en lugar de ejecutar, ya que se puede ver en la siguiente salida:
La salida es /Home/Sam/Desktop mientras que el archivo de script está presente en el /Inicio/Sam directorio.
Conclusión
En conclusión, hay múltiples formas de determinar el directorio de un script bash desde el mismo script. El nombre junto con readlink Se puede utilizar la utilidad para determinar el directorio de un script. Sin embargo, simplemente usando pwd El comando no funciona, ya que solo le da el directorio de trabajo actualmente.