Shell script directorio actual?
¿Qué es el directorio actual de shell script? I este directorio actual desde el que lo llamé? ¿O este directorio donde se encuentra script?
4 answers
El directorio actual(inicial) del script de shell es el directorio desde el que ha llamado al script.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-29 08:23:14
Como ya se mencionó, la ubicación será desde donde se llamó al script. Si desea tener la referencia del script es la ubicación de instalación, es bastante simple. A continuación se muestra un fragmento que imprimirá el PWD y el directorio instalado
#!/bin/bash
echo "Script executed from: ${PWD}"
BASEDIR=$(dirname $0)
echo "Script location: ${BASEDIR}"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-06 17:05:28
La mayoría de las respuestas obtienen la ruta actual y son sensibles al contexto. Para ejecutar el script desde cualquier directorio, utilice el siguiente fragmento de código.
DIR="$( cd "$( dirname "$0" )" && pwd )"
Al cambiar los directorios en un subshell, podemos llamar a pwd
y obtener la ruta correcta del script independientemente del contexto.
Luego puedes usar $DIR
como "$DIR/path/to/file"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-15 00:37:36
Puede hacer esto usted mismo comprobando la salida de pwd
al ejecutarla.
Esto imprimirá el directorio en el que se encuentra actualmente. No el guión.
Si su script no cambia de directorio, imprimirá el directorio desde el que lo ejecutó.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-19 09:30:31