Puedo pensar en tres formas diferentes de hacerlo (las dos primeras robadas de otro lugar pero se me olvida dónde). Utilizo el tercero, que llama un script de shell desde el applecript, porque quiero abrir una nueva ventana cada vez y porque era la más corta.
A diferencia del script integrado en OS X desde al menos 10.10, todos estos abren el terminal en cualquier directorio que sea el directorio de trabajo actual en la ventana del buscador (es decir, no es necesario tener una carpeta seleccionada para abrirlo).
También incluyó un par de funciones bash para completar el círculo Finder> Terminal> Finder.
1. Reutilice una pestaña existente o cree una nueva ventana de Terminal:
tell application "Finder" to set myDir to POSIX path of (insertion location as alias)
tell application "Terminal"
if (exists window 1) and not busy of window 1 then
do script "cd " & quoted form of myDir in window 1
else
do script "cd " & quoted form of myDir
end if
activate
end tell
2. Reutilice una pestaña existente o cree una nueva pestaña Terminal:
tell application "Finder" to set myDir to POSIX path of (insertion location as alias)
tell application "Terminal"
if not (exists window 1) then reopen
activate
if busy of window 1 then
tell application "System Events" to keystroke "t" using command down
end if
do script "cd " & quoted form of myDir in window 1
end tell
3. Genere una nueva ventana cada vez a través de un script de shell llamado desde un applecript
tell application "Finder"
set myDir to POSIX path of (insertion location as alias)
do shell script "open -a \"Terminal\" " & quoted form of myDir
end tell
4. (BONIFICACIÓN) Bash alias para abrir una nueva ventana de búsqueda para el directorio de trabajo actual en su terminal
Agregue este alias a su .bash_profile.
alias f='open -a Finder ./'
5. (BONIFICACIÓN) Cambie el directorio en la ventana de su terminal a la ruta de la ventana del Finder frontal
Agregue esta función a su .bash_profile.
cdf() {
target=`osascript -e 'tell application "Finder" to if (count of Finder windows) > 0 then get POSIX path of (target of front Finder window as text)'`
if [ "$target" != "" ]; then
cd "$target"; pwd
else
echo 'No Finder window found' >&2
fi
}