Comúnmente se pregunta cómo obtener un mensaje de Terminal desde una ventana del Finder. Estoy preguntando lo contrario.
Me gustaría una forma de línea de comandos para determinar el directorio de trabajo de la ventana "actual" del Finder.
El siguiente comando devolverá la ruta a la primera ventana del Finder, si eso es lo que está buscando:
osascript -e 'tell application "Finder" to get the POSIX path of (target of front window as alias)'
Tenga en cuenta que esto no puede devolver una ruta POSIX si la ventana del frente no tiene una ruta POSIX. Entonces, si la ventana del Finder que se encuentra más adelante tiene una búsqueda en curso/finalizada, es una carpeta inteligente u otra ubicación mágica (como su Mac debajo de los dispositivos, que enumera todos los volúmenes montados y la red).
Buscar/Carpeta inteligente/Sin ventana de Finder devuelve:
error de ejecución: no se puede convertir la «clase fvtg» de la ventana 1 de la aplicación "Finder" en un alias de tipo. (-1700)
Y tratando de ejecutar el comando al ver su Mac:
error de ejecución: No se devolvió ningún resultado de alguna parte de esta expresión. (-2763)
osascript
, entonces, ¿tiene una forma más sistemática de buscar qué comando desea que no sea buscar en Google al azar?pwd
: imprime el nombre del directorio actual/de trabajo
open .
: abre el directorio actual en el buscador
Este chico tiene una gran respuesta http://coderwall.com/p/vp9zlw
Defina las dos funciones:
function ff { osascript -e 'tell application "Finder"'\
-e "if (${1-1} <= (count Finder windows)) then"\
-e "get POSIX path of (target of window ${1-1} as alias)"\
-e 'else' -e 'get POSIX path of (desktop as alias)'\
-e 'end if' -e 'end tell'; };\
function cdff { pushd "`ff $@`"; };
Después de eso, puede escribir cdff
cd en el directorio Finder.
Si está utilizando zsh con oh-my-zsh, osx-Plugin proporciona la funcionalidad solicitada . Después de activar el complemento en el archivo de configuración (generalmente ~/.zshrc
), se puede usar pfd
para obtener la ruta a la ventana del buscador actual y cdf
hacer un cd.
insertion location
es básicamente el objetivo de la ventana 1 del Finder o el escritorio.
f() {
cd "$(osascript -e 'tell app "Finder"
POSIX path of (insertion location as alias)
end')"
}
Hay un error en 10.7 y 10.8 donde las propiedades de destino y ubicación de inserción se refieren a la segunda ventana que se encuentra en primer plano después de abrir una nueva ventana.
Daniel
mmmmmm
daniel beck
open .
en la Terminal...david anderson