ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

是否有可能在现代Linux发行版(如Ubuntu或RedHat)上获得OS X版本的Unix工具?

2019-08-16 12:54:50  阅读:216  来源: 互联网

标签:rhel linux ubuntu command-line osx


我观察到,在Linux与OSX的现代发行版中,某些命令行工具的默认版本(如paste和sed)之间通常存在微妙且经常令人讨厌的差异.这导致answers无法在OS X上运行,即使它们几乎可以在任何Linux发行版上运行.

所以我想知道,有没有一种标准方法可以在现代Linux发行版上获得标准Unix工具的全套OS X版本,这样我们就可以在OSX上测试正确功能的解决方案,而无需复制?

解决方法:

正如评论中所提到的,Apple提供了这些工具的source code版本.许多常见命令在“shell_cmds” package中,而paste和sed在“text_cmds”中.您可以获取源代码并进行编译.

实际上它们在Linux系统上运行良好,尽管你经常需要跳转到源代码并明确删除特定于FreeBSD的测试,特别是__FBSDID(“…”);几乎每个文件中的行.我不知道任何包装的分发.许多发行版都打包了一些常见工具的BSD版本,这些工具与OS X版本非常接近(通常是相同的),尽管它们通常不包括paste和sed之类的东西.例如,Debian包括eight packages called bsdX(其中没有一个具有这些命令中的任何一个).对于Apple的特定版本,或者许多未包含在这些版本中的工具,当您根据上述说明需要时,它们并不难构建.

所有这些都说,GNU和BSD工具的通用子集是POSIX specification,其中定义了所有基本命令.您可以查看paste commandsed,看看哪些参数可以保证在任何地方都可以接受.这是编写可移植代码的“道德上正确”的方式:GNU工具和BSD工具都有扩展,但是如果你留在POSIX中,你的代码将适用于两者.因此,请检查您是否始终只使用POSIX参数,然后您所说的应该同样适用于OS X和其他系统.

标签:rhel,linux,ubuntu,command-line,osx
来源: https://codeday.me/bug/20190816/1667309.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有