我不太明白运行命令控制台是什么,我不太明白两点。
\n小智 8
是的,“r”是运行对话框中的内部命令之一。它们记录在https://wiki.gnome.org/Projects/GnomeShell/CheatSheet#Developer_tools。
对于第二部分,我们需要在https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/runDialog.js_run()中准确了解该函数的作用。
首先,它处理上面列出的内部命令。
接下来,它使用 解析输入GLib.shell_parse_argv(),这只是将其拆分为 /bin/sh 等单词,并且不进行任何类型的扩展。然后它尝试直接使用 运行结果GLib.spawn_async()。这将搜索该程序$PATH,这就是为什么像“firefox”这样的东西会如您所期望的那样工作。
如果失败,它将获取您的整个输入,将“~”扩展到您的主目录,并尝试将其作为文件打开。