मैं इसे करने के लिए तीन अलग-अलग तरीकों के बारे में सोच सकता हूं (पहले दो कहीं और से चुराया गया था लेकिन मैं भूल जाता हूं कि कहां है)। मैं तीसरे का उपयोग करता हूं, जो एप्सस्क्रिप्ट से एक शेल स्क्रिप्ट कहता है, क्योंकि मैं हर बार एक नई विंडो खोलना चाहता हूं और क्योंकि यह सबसे छोटा था।
OS X में निर्मित स्क्रिप्ट के विपरीत, कम से कम 10.10 के बाद, ये सभी आपके खोजक विंडो में वर्तमान कार्यशील निर्देशिका में टर्मिनल को खोलते हैं (अर्थात इसे खोलने के लिए आपके पास एक फ़ोल्डर नहीं होना चाहिए)।
फ़ाइंडर> टर्मिनल> फ़ाइंडर सर्कल को पूरा करने के लिए कुछ बैश फ़ंक्शंस भी शामिल हैं।
1. किसी मौजूदा टैब का पुनः उपयोग करें या एक नई टर्मिनल विंडो बनाएं:
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. किसी मौजूदा टैब का पुनः उपयोग करें या नया टर्मिनल टैब बनाएं:
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. प्रत्येक बार एक शेल स्क्रिप्ट के माध्यम से एक नई विंडो उत्पन्न करें जिसे एप्सस्क्रिप्ट से कहा जाता है
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_profile में जोड़ें।
alias f='open -a Finder ./'
5. (बोनस) सामने की खोजक खिड़की के रास्ते में अपनी टर्मिनल विंडो में निर्देशिका बदलें
इस फ़ंक्शन को अपने .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
}