Estoy usando PWD para obtener el directorio de trabajo actual. ¿Hay un SED o regex que pueda usar para, digamos, obtener la ruta completa de dos padres?script de bash regex para obtener la ruta de acceso del directorio enésimo niveles
Respuesta
¿Por sed o expresiones regulares? ¿Por qué no dirname
:
parent=`dirname $PWD`
grandparent=`dirname $parent`
Editar:
@Daentyh señala en los comentarios que al parecer se prefiere $()
sobre apóstrofes ``
para la sustitución de comandos en conchas compatibles con POSIX. No tengo experiencia con ellos Más información:
http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_03
lo tanto, si esto se aplica a su concha, que puede (debe?) Usan:
parent=$(dirname $PWD)
grandparent=$(dirname $parent)
Por qué no usar
"${PWD}/../.."
?
Esto debería funcionar en conchas POSIX:
echo ${PWD%/*/*}
el cual le dará una ruta absoluta en lugar de una relación.
Esta debería ser la respuesta. Esto es más reutilizable que la respuesta aceptada. – melvynkim
No sed o expresiones regulares, pero esto sí hace la cantidad de padres arbitraria:
$ cd $(mktemp -dp $(mktemp -dp $(mktemp -dp $(mktemp -d)))) && \
> n=3 && \
> readlink -f ${PWD}/$(for i in $(seq ${n}); do echo -n '../' ; done)
/tmp/tmp.epGcUeLV9q
En este ejemplo, he cd
en un directorio temporal 5 de profundidad, asigne n=3
, construir una ruta relativa n
niveles desde ${PWD}
y -f, --canonicalize
el resultado con readlink
.
- 1. Determinar la ruta del script BASH ejecutar
- 2. Acceso a la ruta del script JMeter
- 3. ¿Cómo se sube a la estructura del directorio padre de un script bash?
- 4. Obtener el directorio de un archivo de script bash en
- 5. BASH Script para cd al directorio con espacios en el nombre de ruta
- 6. ¿Cómo obtener la ruta del script en R?
- 7. ¿Cómo obtener la ruta de acceso absoluta del directorio de un archivo?
- 8. ¿Cómo obtener la ruta de acceso absoluta del archivo o directorio, que * no * existe?
- 9. ¿Cómo obtener la ruta del directorio Programas de Inicio?
- 10. Script Bash: uso del comando "script" de un script bash para iniciar sesión
- 11. Eliminación del argumento final script bash
- 12. Cómo obtener el directorio del script jmeter en Jmeter
- 13. Cómo obtener/establecer la ruta del directorio lógico en python
- 14. Acceso denegado al obtener la ruta del proceso
- 15. Ruta de directorio común del archivo MAKE
- 16. ¿Cómo obtener el enésimo argumento posicional en bash?
- 17. Cómo obtener la ruta física del directorio virtual
- 18. ¿Cómo obtener la ruta del script por lotes en Windows?
- 19. obtener enésimo día de la semana del mes en C#
- 20. ¿Cómo obtener la ruta de acceso totalmente calificada para un archivo en VBScript?
- 21. bash filepath al directorio principal del archivo
- 22. Eliminar un directorio de la ruta completa del directorio
- 23. Bash script ¿Qué es: = para?
- 24. Ruta del directorio local
- 25. Variable para la ruta del directorio bin de WiX?
- 26. Ruta del script actual de Extendscript
- 27. Script de PowerShell para obtener un tamaño total de directorio
- 28. Salida JSON del script Bash
- 29. PHP Obtener ruta de directorio único
- 30. Script Bash para probar automáticamente la salida del programa - C
¡Gracias que funcionó! – Steve
Debería usar '$()' sobre '\' \ '' ya que él especificó bash. – Daenyth
@Daenyth - cierto, en realidad estaba pensando en sugerir que vuelva a hacer la pregunta (o me permita volver a etiquetarla) a 'sh' o' shell-scripting' ya que la pregunta no era realmente 'bash' específica. @Steve - ¿qué piensas? –