Saya dapat memikirkan tiga cara berbeda untuk melakukannya (dua yang pertama dicuri dari tempat lain tetapi saya lupa di mana). Saya menggunakan yang ketiga, yang memanggil skrip shell dari applescript, karena saya ingin membuka jendela baru setiap waktu dan karena itu adalah yang terpendek.
Berbeda dengan skrip yang dibangun ke dalam OS X sejak setidaknya 10.10, semua ini membuka terminal di direktori apa pun yang merupakan direktori kerja saat ini di jendela pencari Anda (mis. Anda tidak harus memiliki folder yang dipilih untuk membukanya).
Juga menyertakan beberapa fungsi bash untuk menyelesaikan Finder & gt; Terminal & gt; Lingkaran pencari.
1. Gunakan kembali tab yang ada atau buat jendela Terminal baru:
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. Gunakan kembali tab yang ada atau buat tab Terminal baru:
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. Hasilkan jendela baru setiap kali melalui skrip shell yang dipanggil dari applescript
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 untuk membuka jendela pencari baru untuk direktori kerja saat ini di terminal Anda
Tambahkan alias ini ke .bash_profile Anda.
alias f='open -a Finder ./'
5. (BONUS) Ubah direktori di jendela terminal Anda ke jalur jendela Finder depan
Tambahkan fungsi ini ke .bash_profile Anda.
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
}