Answers:
你真的不能通过任何“普通”shell命令,但你可以通过shell运行AppleScript来完成任务。
这是一个带有fnt
“Finder New Tab” 命令的Bash函数:
function fnt()
{
osascript -e 'tell application "System Events" to perform action "AXPress" of menu item "New Tab" of menu "File" of menu bar item "File" of menu bar 1 of application process "Finder"'
}
将以上内容添加bash function
到您的~/.bash_profile
或̃/.profile
文件中以使用它。添加后,重新启动终端或使用source
当前终端窗口中的命令来访问该fnt
功能。
这应该适用于在“文件”菜单中具有“新选项卡”命令的任何版本的macOS。您还需要将终端添加到:系统首选项>安全和隐私>隐私可访问性
据我所知,相对于Finder中的标签,已经在Mojave中对AppleScript进行了一些改进,但我仍然使用macOS Sierra 10.12.6并且无法测试。
action AXPress of menu item New Tab of menu File of menu bar item File of menu bar 1 of application process Finder
)。
以下是我提出的解决方案,基于如何在新标签(Mavericks)中复制当前打开的Finder视图的答案?
function newtab()
{
osascript -e "tell application \"Finder\"
activate
set t to target of Finder window 1
set toolbar visible of window 1 to true
end tell
tell application \"System Events\"
keystroke \"t\" using command down
end tell
tell application \"Finder\"
set target of Finder window 1 to POSIX file \"`pwd`\"
end tell" 1> /dev/null
}
所有转义的引号都不是很优雅,但似乎有必要允许命令替换。
感谢Christopher Stone将我指向AppleScript的方向!不幸的是他的解决方案对我不起作用。