Pregunta

En un script de shell peces, es posible obtener la ruta donde vive el script de shell? En bash, puede utilizar la variable BASH_SOURCE para hacer esto.

¿Fue útil?

Solución

Una forma es utilizar el comando estado .

por ejemplo.

~/tmp> echo status -f > show_filename.fish
~/tmp> fish show_filename.fish
/home/foo/tmp/show_filename.fish

-

Ah, lo siento - a juzgar por su comentario, me leyó mal la pregunta. Pensé que quería decir la ruta completa, en lugar de directorio del script.

Se podía enviar el resultado de estado para DirName. No es una función incorporada de peces, al igual que el estado es, pero el pescado tiende a externalizar la mayor cantidad de esta funcionalidad, ya que puede de todos modos (véase "La ley del minimalismo", a lo largo de los peces diseño doc ). No puedo ver los comandos algo mejor en la documentación para esto, así que tal vez esto es lo mejor que podemos conseguir por ahora?

modifica el ejemplo, cambiar el contenido de show_filename.fish ser:

dirname (status -f)

Ahora usted debe conseguir:

~/tmp> fish show_filename.fish
/home/foo/tmp
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top