Ich kann mir drei verschiedene Möglichkeiten vorstellen (die ersten beiden, die von einem anderen Ort gestohlen wurden, aber ich vergesse, wo). Ich benutze das dritte, das ein Shell-Skript aus dem Apple-Skript aufruft, weil ich jedes Mal ein neues Fenster öffnen möchte und weil es das kürzeste war.
Im Gegensatz zu dem in OS X seit mindestens 10.10 integrierten Skript öffnen alle das Terminal in dem Verzeichnis, in dem sich das aktuelle Arbeitsverzeichnis in Ihrem Finder-Fenster befindet (dh Sie müssen keinen Ordner auswählen, um es zu öffnen).
Enthält auch einige Bash-Funktionen, um den Kreis Finder> Terminal> Finder zu vervollständigen.
1. Verwenden Sie eine vorhandene Registerkarte erneut oder erstellen Sie ein neues Terminalfenster:
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. Verwenden Sie eine vorhandene Registerkarte erneut oder erstellen Sie eine neue Registerkarte "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. Generieren Sie jedes Mal ein neues Fenster über ein Shell-Skript, das von einem Apple-Skript aufgerufen wird
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. (BONUS) Bash-Alias zum Öffnen eines neuen Finder-Fensters für das aktuelle Arbeitsverzeichnis in Ihrem Terminal
Fügen Sie diesen Alias zu Ihrem .bash_profile hinzu.
alias f='open -a Finder ./'
5. (BONUS) Wechseln Sie in Ihrem Terminal-Fenster in den Pfad des vorderen Finder-Fensters
Fügen Sie diese Funktion Ihrem .bash_profile hinzu.
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
}