首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >像Nautilus这样的程序使用shell吗?

像Nautilus这样的程序使用shell吗?
EN

Unix & Linux用户
提问于 2018-02-04 11:14:07
回答 1查看 162关注 0票数 0

据我所知,bash是一个类似python交互式shell的程序,它通过输入流接收命令(或命令),通过调用Linux函数执行命令,并将执行结果提供给输出流。

终端也是一个程序,它为我们提供了一些功能,比如命令历史记录和高亮显示,内部它使用shell(bash)。

但是应用程序(比如Nautilus)是使用/bin/bash还是使用它的API与linux通信呢?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-02-04 11:26:46

是的,程序可以显式或隐式地使用shell。

例如,请参见一个无关问题的Stéphane的回答

例如,他们的回答是,如果程序使用C库函数execlp()execvp()来运行命令,那么在execve()返回ENOEXEC时,它通常会对它调用sh (" it“是一个没有指定显式解释器的shell脚本,这是该问题的上下文)。sh是一个外壳。

使用system()执行实用程序的应用程序通常也会调用shell。

我不能具体提到Nautilus,但是如果它允许您执行任何类型的脚本,它很可能会使用shell来执行。应用程序的其余部分可能会使用GUI元素的库,以及用于事件、文件系统操作等的其他库。这些库很可能是用C或类似语言编写的,并且使用了C库,其中一些库与操作系统内核进行了一些操作。

我非常怀疑文件管理器本身是用任何类型的shell脚本语言编写的,尽管它很可能在启动或其他操作中使用shell脚本。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/421785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档