参考までに。
コマンドで起動するアプリの実際のパスを見つけるには、 2つの方法がありますopen
。
VLCが()/Applications
などのディレクトリではなく、別のディレクトリに配置されている場合などに役立ちます。/Users/<user>/Applications
~/Applications
AppleScript経由
シンプルですが、アプリを起動します。
$ osascript -e 'POSIX path of (path to application "VLC")'
/Applications/VLC.app/
$
$ osascript -e 'POSIX path of (path to application "GIMP")'
/Volumes/External_HDD/Applications/GIMP/GIMP_v2.8/GIMP.app/
lsregisterコマンド経由
少し複雑ですが、アプリを起動しません。
$ # Path of `lsregister` command
$ # /System/Library \
$ # /Frameworks/CoreServices.framework/Versions/A \
$ # /Frameworks/LaunchServices.framework/Versions/A/Support/
$
$ cd /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/
$
$ ls
lsregister
$
$ # Sample usage
$ ./lsregister -dump | grep -o "/.*\Google Chrome.app" | head -1
/Applications/Google Chrome.app
$
$ # Find VLC
$ NAME_APP=VLC
$ ./lsregister -dump | grep -o "/.*${NAME_APP}.app" | grep -v -E "Caches|TimeMachine|Temporary|/Volumes/${NAME_APP}" | uniq
/Applications/VLC.app
テスト済み:macOS HighSierra(OSX 10.13.6)
$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17)
Copyright (C) 2007 Free Software Foundation, Inc.