cómo obtener la ruta absoluta del directorio de trabajo actual del IRB
-
20-09-2019 - |
Pregunta
Estoy corriendo de Ruby en Windows, aunque no sé si eso debería hacer una diferencia. Todo lo que quiero hacer es conseguir ruta absoluta del directorio de trabajo actual. ¿Es esto posible del IRB? Al parecer, desde un script que es posible utilizando File.expand_path(__FILE__)
Pero desde IRB He intentado lo siguiente y consiguió un "Permiso denegado" error:
File.new(Dir.new(".").path).expand
Solución
Dir.pwd
parece hacer el truco.
Otros consejos
File.expand_path File.dirname(__FILE__)
devolverá el directorio relativo al archivo de este comando se llama desde.
Pero Dir.pwd
devuelve el directorio de trabajo (resultados idénticos a ejecutar pwd
en su terminal)
En cuanto a la ruta relativa a la secuencia de comandos de ejecución actual, ya que Rubí 2.0 también se puede utilizar
__dir__
Así que esto es básicamente el mismo que
File.dirname(__FILE__)
Esto le dará el directorio de trabajo del archivo actual.
File.dirname(__FILE__)
Ejemplo:
current_file: "/Users/nemrow/SITM/folder1/folder2/amazon.rb"
resultado: "/ Users / nemrow / SITM / carpeta1 / carpeta2"
Si desea obtener la ruta completa del directorio del archivo rb actual:
File.expand_path('../', __FILE__)
A través de este se puede obtener la ruta absoluta de cualquier archivo que se encuentra en cualquier directorio.
File.join(Dir.pwd,'some-dir','some-file-name')
Esto devolverá
=> "/User/abc/xyz/some-dir/some-file-name"