小编Hib*_*u57的帖子

限制 GNU?Make 到 POSIX Make 行为

有没有已知的方法可以让 Linuxmake拒绝意外使用 GNU?在 Linux 中编辑或使用其他人的 Makefile 时,在 Makefile 中进行特定扩展?我的意思是,限制 GNU?Makemake按照 POSIX 中指定的方式运行并拒绝任何 GNU?Make 特定扩展?

该.POSIX专项的目标是不够的,按照“ 4.9特别内置目标名(gnu.org) ”。手册页没有提到这个命令行选项。

使用其他make实用程序可能是一种选择。

— 更新 2018-10-19 —

我仍然没有找到我的问题的直接答案,但这里至少有一个关于这个问题的文档,这个文档在我提出这个问题时并不存在:  A Tutorial on Portable Makefiles (nullprogram.com)。

make gnu-make

15
推荐指数
1
解决办法
2806
查看次数

使“大多数”寻呼机正确处理标准输入的颜色

如何使most寻呼机正确显示从标准输入接收的文本中的颜色?

注意:我不确定它是否是most.

我没有遇到与lessand相同的问题more,只有 with most,否则它作为man.

我不是发布图片,而是邀请人们尝试此操作(仅当您已most安装时):

$ command apropos zip | command grep --color=always zip | command less
$ command apropos zip | command grep --color=always zip | command more
$ command apropos zip | command grep --color=always zip | command most
Run Code Online (Sandbox Code Playgroud)

less并more正确显示颜色,同时most显示带有额外“垃圾”^[[K包裹所有彩色文本区域的颜色。

令人惊讶的是,这是可以的:

$ (export PAGER=most; command man zip)
Run Code Online (Sandbox Code Playgroud)

我是否遗漏了什么(手册页most没有帮助),滥用命令还是我应该将其报告为错误?

关于less(更新)的说明:

正如 Sparhawk 在评论中提到的那样,less …

colors most

11
推荐指数
1
解决办法
2081
查看次数

`EINTR`:它背后有什么理由吗?

作为背景的闲聊

EINTR是所谓的可中断系统调用可能返回的错误。如果在系统调用运行时发生信号,则不会忽略该信号,并且为它定义了SA_RESTART未设置的信号处理程序并且该处理程序处理该信号,则系统调用将返回EINTR错误代码。

作为旁注,我经常ncurses在 Python 中使用这个错误。

问题

POSIX 标准指定的这种行为背后是否有基本原理?可以理解可能无法恢复(取决于内核设计),但是,不在内核级别自动重新启动它的理由是什么?这是出于传统原因还是技术原因?如果这是出于技术原因,这些原因现在仍然有效吗?如果这是出于遗留原因,那么历史是什么?

process signals system-calls posix

10
推荐指数
2
解决办法
7313
查看次数

从 Sh(非 Bash)分离进程或为 Sh(非 Bash)“拒绝”

考虑一个由 Sh 执行的 shell 脚本,而不是 Bash(我不能改变它,也不能使用 shebang,它被忽略了)。该&运营商的作品,但disown $!不和使得嘘抱怨“不认:未找到”。

如何从特定的 Sh 中分离后台进程?我的意思是,从 Shdisown做的和从 Bash做的一样。

shell process-management disown

9
推荐指数
1
解决办法
6905
查看次数

`/proc/$PID/cwd`:是否有 POSIX 等价物?

Linux 有一个/proc目录和文件系统,据我所知,它不是 POSIX 的一部分。在每个/proc/$PID子目录中,是一个符号链接,cwd指向该PID进程的实际工作目录(该cwd链接始终是最新的)。

这个符号链接对于某些用例很方便,比如使用不同的 shell 和在两个 shell 之间交换文件(正式地,它们的工作目录)。

有没有一种简单的方法来获得类似的东西,只使用 POSIX 功能?

更多关于这个问题

发表评论后,更精确:它不一定是链接和环境变量 lile $<PID>_CWD,也一样好,虽然乍一看,我不相信这样的解决方案存在。它必须易于引用(例如符号链接或环境变量),并且每次其他进程切换其工作目录时始终保持最新。

解决方案不一定是POSIX,最重要的是可移植性,但POSIX肯定是一种保证。

shell ipc posix cwd

8
推荐指数
2
解决办法
2393
查看次数