MacOS Finder で開いているディレクトリにターミナル上で移動する Bash 関数
MacOS のターミナルで、カレントディレクトリを Finder で開きたい時は、$ open .
と叩けば良い。
その逆で、「Finder で開いているディレクトリに、ターミナル上で移動したい」時のコマンドを用意する。
Finder 上からそのディレクトリのターミナルを開く際は、ディレクトリを右クリックして「フォルダに新規ターミナルタブ」を選べばよいが、新規ターミナルタブも開くことなく、cd
する感覚で遷移する。
function cdf() {
local 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 # お好みで「&& ls」まで入れても良いかも
else
echo 'No Finder window found' >&2
fi
}
コレを ~/.bashrc
にでも書いておいて source
しておく。
Finder で適当なディレクトリを開いておき、その状態でターミナルにて cdf
と叩けば、そのディレクトリに cd
してくれる。
- 参考 : Quick Tip: Jumping to the Finder location in Terminal - BrettTerpstra.com
- 参考 : jumping to the finder location in terminal - Glide Note
- 参考 : Macで少し生産性の上がるBashエイリアス集 | RickyNews
osascript
とかいうコマンドが Finder のパスを拾っているのだが、コレは AppleScript が叩けるコマンドらしい。