Lo que me gustaría hacer es incluir la configuración de un archivo en mi shell de bash interactivo actual de esta manera:¿Cómo puede una secuencia de comandos bash saber el directorio en el que está instalado cuando se obtiene con. ¿operador?
$. /path/to/some/dir/.settings
El problema es que el script .settings también necesita utilizar el "." operador para incluir otros archivos como este:
. .extra_settings
¿Cómo hago referencia a la ruta relativa para .extra_settings en el archivo .settings? Estos dos archivos siempre se almacenan en el mismo directorio, pero la ruta a este directorio será diferente dependiendo de dónde se instalaron estos archivos.
El operador siempre conoce/path/to/some/dir/como se muestra arriba. ¿Cómo puede saber el archivo .settings el directorio donde está instalado? Preferiría no tener un proceso de instalación que registre el nombre del directorio instalado.
Perfecto. $ (dirname "$ BASH_SOURCE") es lo que yo era exactamente lo que estaba buscando. Para mi propósito, no me importan mucho los enlaces simbólicos. Gracias a todos los que respondieron. Muy buenas respuestas aquí. – Gary
Para resolver enlaces simbólicos, puede hacer lo siguiente: 'dir = $ (dirname $ (readlink -f" $ BASH_SOURCE "))' –