Darwin/MacOS 是否修改了 Bash?

2023-12-07

我想知道使用 Bash 内置命令的 Bash 脚本的可移植性。

据我了解,每种 UNIX 风格都倾向于修改各种 UNIX 实用程序。但他们是否倾向于不理睬 Bash 和 Bash 内置函数呢?尤其是 MacOS 呢?


据我所知,bash 在 Mac OS X 上未经修改(除了编译所需的细微调整之外;您可以查看源代码http://opensource.apple.com/),并且脚本应该非常可移植。

正如 Graham Lee 和 Gordon Davisson 指出的那样,Mac OS X 附带较旧的版本,并且受支持的版本之间存在差异。 Bash 4 有关联数组其他变化。 Bash 3 包括正则表达式匹配(可能还有我没有搜索过的其他匹配)。不记得 Bash 2 的差异,也许是一些括号/条件测试的差异?

Mac OS X 10.7.x Lion 包括 Bash 3.2.x。我不记得确切的版本,但 Mac OS X 10.6.x Snow Leopard 和 10.5.x Leopard 包含 Bash 3.x。 Mac OS X 10.4.x Tiger 及更早版本使用 Bash 2.0.5。因此,您肯定会遇到默认支持的内容之间的差异。

当然,除了不同功能集和内置功能之间的差异之外bashMac OS X 上的版本,您还会发现其他工具的差异。例如,有getoptMac OS X 上的问题(参数中不支持在 Mac OS X 目录/文件路径中常见的空格;内置getopts在较新的bash版本可以帮助解决此问题,但在旧版本中可能不可用)。当然,还会有其他具有不同功能或语法的工具。

我绝对不是专家bash开发人员,但我已经写了一个number支持各种版本的 Mac OS X 特定脚本。看我的Bash 中的正则表达式及其替代方案讨论 2.x 与 3.x 正则表达式功能和解决方法的文章。或者,我的一些bash重点考虑了 Mac OS X 的脚本:工具-OSX & bash_存根.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Darwin/MacOS 是否修改了 Bash? 的相关文章

  • 在 Swift 3 中以编程方式创建没有 XIB 的 NSViewController

    我正在尝试在不使用 Interface Builder 的情况下制作 macOS 应用程序 我的项目已构建并运行 但我的主视图控制器似乎没有加载其视图 那就是viewDidLoad 方法未被调用 我正在使用 Xcode beta 8 0 b
  • 通过 Bash 命令在文本文件中查找并替换

    例如 对给定输入字符串进行查找和替换的最简单方法是什么abc 并替换为另一个字符串 例如XYZ在文件中 tmp file txt 我正在编写一个应用程序并使用 IronPython 通过 SSH 执行命令 但我不太了解 Unix 也不知道要
  • bash 递归xtrace

    有没有办法运行 bash 脚本 X 以便如果 X 调用可执行 bash 脚本 Y 则 Y 以 sh eux 开头 X sh Y sh Y sh bin sh echo OK 可以通过导出子 shell 使用父 shell 中设置的相同 sh
  • 如何检测浏览器中操作系统是否处于深色模式?

    如同 如何检测 OS X 是否处于深色模式 https stackoverflow com questions 25207077 how to detect if os x is in dark mode 仅适用于浏览器 有没有人发现是否有
  • 查找使用 AppleScript 安装的 Mac OSX 版本

    如何使用 AppleScript 查找我的 Mac 上安装的 OSX 版本 我想以编程方式安装应用程序并根据版本运行不同的 pkg 文件 Thanks 以下是如何使用内置函数在 AppleScript 中获取 OSX 版本 set sysi
  • Mac-catalyst - Mac Catalyst 应用程序的最小窗口大小

    Mac Catalyst 允许调整窗口大小 有什么方法可以为 Mac Catalyst 应用程序提供最小窗口大小 只需将以下代码块添加到您的application didFinishLaunchingWithOptions方法 对于UIKi
  • PDF:在现有 PDF 文件中插入一行文本

    我有一个 PDF 文件 我希望在所有页面 前两页除外 的页脚上添加一行纯文本 不是徽标或类似内容 有谁有一个如何做到这一点的例子 用任何语言 Update 原始 PDF 是用 Scribus 制作的 我可以完全控制它 因此 如果更容易进行查
  • 使用 Xcode 为 OS X Lion / Mountain Lion 编译 OpenCV (2.3.1+)

    谁能给我提供一些如何使用 Xcode 在 OS X Lion 上编译 OpenCV 2 3 1 的详细指南 我对此很生气 我得到了源代码 使用 cmake 创建 Xcode 模板并尝试构建它 但它失败并出现大约 200 个错误 提前致谢 多
  • 升级到 Yosemite 后 Apache 配置损坏

    昨天我升级到 Yosemite 现在我的 Web 开发本地配置不再起作用 我设法在下面设置了一个 userdir Users user public html我可以通过以下方式访问所有网站localhost user websitename
  • 嵌入定义绑定变量的 Oracle PL/SQL 代码的 Shell 脚本

    如果我运行下面的脚本 我会收到错误SP2 0552 未声明绑定变量 OUTRES 那么 如何定义绑定变量OUTRES以及在哪里定义呢 usr bin bash sqlplus s scott tiger lt lt EOF declare
  • 在 macOS 上更改 libpcap 版本(Apple 删除了一项功能)

    我只想使用 tcpdump 和 Ubuntu 上提供的相同 Qout 功能 在 macOS 上 tcpdump 和 libpcap 已被剥离使用 Qout 进行过滤的功能 tcpdump Qout nnSX c 10 w packet pc
  • 如何判断相机是否正在被其他进程使用?

    在 OS X 中 如何判断摄像头或麦克风是否正在被其他应用程序或进程使用 除非其他应用程序锁定了设备 否则以下操作似乎不起作用 NSArray devices AVCaptureDevice devices for AVCaptureDev
  • 对 NSTextField 设置限制

    我需要为文本字段设置字符限制 我跟着这个answer https stackoverflow com a 830019 913571我能够设定一个限制 但现在当我按下回车键时 所有字符都被清除了 什么地方出了错 BOOL isPartial
  • 如何将字符串推送到标准输入?在启动时通过 stdin 提供输入,然后以交互方式读取 stdin 输入 [重复]

    这个问题在这里已经有答案了 有没有办法在调用程序时将字符串 推送 到程序的标准输入流 这样我们就可以达到这样的效果 echo something my program 但不是在之后读取 EOF something my program将从原
  • 如何转义 bash 别名中的空格?

    尝试在我的 bashrc 文件中设置一些别名 这个 export alias umusic Volumes 180 gram Uncompressed 出现以下错误 bash cd Volumes 180 没有这样的文件或目录 当我尝试 c
  • 安装 homebrew 后终端无法识别 nvm

    我通过自制软件安装了 nvm 但是当我运行 nvm v 或 nvm version 表单终端时 我收到消息 command not found nvm 当我查看 finder 和 cmd shift 时 我可以看到 nvm 文件夹 最初 我
  • Bash 脚本错误 [重复]

    这个问题在这里已经有答案了 我想知道下面的脚本有什么错误 我收到错误为 command not foundh line 1 command not foundh line 2 其连续的 我试过添加 但现在工作请告诉我该怎么做 bin bas
  • 阻止 NSView 实例接收鼠标事件

    我在窗口中有一个 NSView 并且核心动画层已打开 我时常使用此视图来显示带有动画的图像 我需要整个视图作为后层 而不仅仅是图像 在这个我称为 AnimationBaseView 的视图后面是用户交互的其他视图 一切都很好 除了 Anim
  • Docker 进程被神秘的“Killed”消息杀死

    在 docker 容器中运行 python 脚本 一切似乎都运行顺利 看到一些 STDOUT 消息 大约 5 分钟后我得到了Killed消息 没有进一步的解释 并且该过程停止 查询数据库可能是磁盘空间问题 也可能是 OOM 问题 我不确定
  • NSTextview:如何获取插入点的字形矩形?自定义文本视图?

    我似乎找不到任何有关如何获取插入点的矩形的文档 我试图在文本插入点 插入点正下方显示一个视图 如自动完成 我正在考虑制作一个自定义文本视图 但如果我可以避免它 那对我的情况来说将是理想的 谢谢 NSRect rectForActiveRan

随机推荐

  • 如何将未知的参数列表映射到 elisp 中的启动进程?

    我终于尝试学习 elisp 但还没有集中精力如何将未知的参数列表动态映射到变量 这是一个工作函数 它将最多三个参数传递给启动进程 但我想将无限数量的参数传递给该函数 defun create drush buffer command res
  • C++ 空括号成员初始化 - 将内存清零?

    我最初写了一些这样的代码 class Foo public Foo m buffer private char m buffer 1024 比我聪明的人说使用 m buffer 初始化器会将内存清零 我的目的是让内存保持未初始化状态 我没有
  • 将 Unicode 转义符转换为希伯来语文本

    我的 json 文件中有以下文本 u00d7 u0090 u00d7 u0097 u00d7 u0095 u00d7 u0096 u00d7 u00aa u00d7 u00a4 u00d7 u0095 u00d7 u009c u00d7 u
  • 将大量 CSV 文件导入 Matlab

    我有一个 1 6 GB 大的 CSV 文件 需要将其输入到 matlab 中 我必须经常这样做 并且需要它快速运行 该文件的格式为 20111205 00 00 2 99 18 6 E 20111205 00 00 2 99 18 5 E
  • 通过 iPhone 应用程序拨打电话号码

    嗨 iPhone 开发者 我想在我的 iPhone 应用程序中添加一个功能 它们是 拨打我的应用程序中的电话号码 通话结束后 重新启动之前的应用程序 我知道它在 iphone OS 3 2 中不可能 iOS 4 中可以吗 我需要你的帮助 你
  • 流中记录的排序

    以下是我的一些疑问 我有两个不同的流stream1 and stream2其中元素是有序的 1 现在当我这样做时keyBy在每个流上 顺序会保持不变吗 因为这里的每个组都只会发送给一个任务管理器 我的理解是记录将按小组顺序排列 请在这里纠正
  • 传单中圆形和多边形的联合

    我正在向传单地图添加两个圆圈和一个多边形 这是我绘制这三个形状的代码 有什么办法可以得到这三个形状的联合吗 leaflet options leafletOptions minZoom 0 maxZoom 18 m lt leaflet g
  • 如何在没有宏的情况下自动创建 Clojure `defn` 函数?

    最初是出于以下问题的动机 映射到 clojurescript 宏的调用 假设您想自动创建许多类似的函数 即不需要全部手写 假设我们有一些预先存在的函数 并且希望用处理程序包装它们以进行某种回调 defn do foo println I f
  • decltype 和成员函数(非指针)类型

    struct C int Foo int i return i typedef decltype C Foo type 由于不存在成员函数类型这样的类型 没有 是吗 我希望C type to be int int 但以下内容无法使用 Vis
  • Flex:无法调整外部加载的 SWF 内容的大小

    我有一个应用程序 我尝试加载外部 SWF 所以 我们有 我的应用 舞台的尺寸为 768x1280 缩放模式 EXACT FIT 外部 SWF 这是另一个应用程序 其阶段为 800x600 缩放模式 EXACT FIT 问题是 尽管我应用 s
  • Tomcat 未加载 MSSQL 驱动程序

    我正在尝试将我的 web 应用程序部署到 Tomcat 容器 但出现异常 指出找不到数据库的驱动程序 我在 Jetty 上本地测试了该应用程序 driver jar 由 Maven 提供 我将 driver jar 复制到 Tomcat 主
  • 将 (720, 720) 的 pandas DataFrame 重塑为 (518400, ) 2D 为 1D

    我有一个形状为 720 720 2D 的 DataFrame 我想将其转换为一维维度而不更改其值 我该如何使用 Pandas 来做到这一点 Use numpy ravel将 DataFrame 转换为 numpy 数组 np random
  • 未捕获的类型错误:无法读取 ReactJs 中 {Component}.render 处未定义的属性“映射”

    我将我的数组传递给这样的侧边栏组件的道具 我想在我的子组件中访问它 When i save the code and go to browser i am getting this error message import React Co
  • 如何在java中创建类型安全的泛型数组?

    我想在 java 中创建一个通用数组 维护 Java 通常提供的类型安全性 我正在使用这段代码 class Stack
  • “of”与“from”运算符

    之间唯一的区别是Observable of and Observable from参数格式 像Function prototype call and Function prototype apply Observable of 1 2 3
  • 1帧内使用opengl es在ipad上最多可以绘制多少个三角形?

    ipad上一帧最多可以画多少个三角形 另外 用于绘制这些三角形的 gl 调用数量是否有限制 您在 iPad 上遇到的三角形总数的唯一限制是内存大小以及您希望渲染的速度 发送的顶点越多 应用程序将使用的内存就越多 渲染速度就越慢 例如 在我的
  • utf8' 编解码器无法解码位置 15 中的字节 0x89:起始字节无效

    这是我的项目的视图 其中我尝试使用 boto 将图像从本地系统上传到 s3 class ImageList generics ListCreateAPIView queryset Image objects all serializer c
  • 如何在gem5中启用ARM半主机?

    我尝试运行在 QEMU 上运行的半主机退出指令 mov r0 0x18 ldr r1 0x20026 svc 0x00123456 但是gem5似乎没有正确处理它并崩溃了 以下补丁将其添加到 baremetal py 但不添加到 fs py
  • jquery改变用户滚动的背景颜色

    jquery 是否有可能在用户向下滚动页面时背景动画从 50 白色变为 90 白色或其他 所以首先是颜色rgba 255 255 255 5 当用户滚动到颜色下方 210px 时become rgba 255 255 255 9 更新后的更
  • Darwin/MacOS 是否修改了 Bash?

    我想知道使用 Bash 内置命令的 Bash 脚本的可移植性 据我了解 每种 UNIX 风格都倾向于修改各种 UNIX 实用程序 但他们是否倾向于不理睬 Bash 和 Bash 内置函数呢 尤其是 MacOS 呢 据我所知 bash 在 M