1 votos

¿Comando en bash shell script para encontrar la ruta a ese script?

¿Hay un comando para ir dentro de un script bash .sh que proporcionará la ruta completa al directorio que contiene ese script?

3voto

Vea las respuestas en Obtener el directorio fuente de un script Bash desde el propio script . El aceptado recomienda

 #!/bin/bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
 

pero leer todas las respuestas ofrece muchas alternativas (e información sobre cómo funcionan los shells).

2voto

Fabby Puntos 121

Las respuestas aquí no siempre contienen las mejores prácticas, así que si usted sólo desea que el directorio se hizo eco en la pantalla (aun cuando contiene espacios):

#!/bin/bash
echo "My Script is being run from here: $(dirname "$0")"

Si usted desea en una variable y desea . ampliado a la ruta de acceso completa, usted necesita GNU Readlink primero así:

  1. Instalar homebrew
  2. Instalar GNU CoreUtils:

    brew install coreutils
    
  3. Utilice la siguiente secuencia de comandos:

    #!/bin/bash
    
    szMyPath=$(dirname "$0")
    
    if [[ $szMyPath =~ ^. ]]; then 
      szMyPath="$(dirname "$(greadlink -f "$0")")" 
    fi
    
    echo "$szMyPath"
    

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X