Tôi có thể nghĩ ra ba cách khác nhau để làm điều đó (hai cách đầu tiên bị đánh cắp từ một nơi khác nhưng tôi quên mất ở đâu). Tôi sử dụng cái thứ ba, gọi một kịch bản shell từ applescript, vì tôi muốn mở một cửa sổ mới mỗi lần và vì nó là ngắn nhất.
Không giống như tập lệnh được tích hợp trong OS X kể từ ít nhất 10.10, tất cả các tập lệnh này mở thiết bị đầu cuối trong bất kỳ thư mục nào là thư mục làm việc hiện tại trong cửa sổ công cụ tìm của bạn (tức là bạn không phải chọn thư mục để mở).
Cũng bao gồm một vài hàm bash để hoàn thành vòng tròn Finder> Terminal> Finder.
1. Sử dụng lại tab hiện có hoặc tạo cửa sổ Terminal mới:
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. Sử dụng lại tab hiện có hoặc tạo tab Terminal mới:
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. Tạo một cửa sổ mới mỗi lần thông qua một tập lệnh shell được gọi từ một 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. (TIỀN THƯỞNG) Bí danh Bash để mở cửa sổ tìm kiếm mới cho thư mục làm việc hiện tại trong thiết bị đầu cuối của bạn
Thêm bí danh này vào .bash_profile của bạn.
alias f='open -a Finder ./'
5. (THƯỞNG) Thay đổi thư mục trong cửa sổ đầu cuối của bạn thành đường dẫn của cửa sổ Finder phía trước
Thêm chức năng này vào .bash_profile của bạn.
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
}