首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MacOS喜欢/bin/sh还是/bin/bash?

MacOS喜欢/bin/sh还是/bin/bash?
EN

Stack Overflow用户
提问于 2019-10-21 18:45:39
回答 2查看 4.9K关注 0票数 1

我想和别人分享一个脚本,但不确定哪个在MacOS上是首选的。哪一个是最好的支持?

代码语言:javascript
复制
#!/bin/sh
echo "Here goes my simple script that changes some settings."
# ... do some stuff

还是这个?

代码语言:javascript
复制
#!/bin/bash
echo "Here goes my simple script that changes some settings."
# ... do some stuff
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-21 22:09:04

您应该选择与脚本所用的shell方言/语言相对应的shebang。

如果您为POSIX编写#!/bin/sh

  • If,使用您为Zsh编写的#!/usr/bin/env zsh

  • If,使用为Fish编写的#!/usr/bin/env fish

  • If,使用为Bash #!/usr/bin/env bash编写的#!/usr/bin/env fish

  • If*(如果您不知道,这可能就是)

shbash的作用与C对C++的作用大致相同,您应该知道您想要使用哪一种。有关更多信息,请参见Difference between sh and bashWhy does my bash code fail when I run it with sh?

*使用env的方式等同于#!/bin/bash,但也允许用户安装较新版本的Bash。尤其是macOS上的人这么做是因为操作系统附带了过时的版本。

票数 7
EN

Stack Overflow用户

发布于 2019-10-21 18:59:59

这并不重要:这取决于使用脚本的人来确保shebang在他们的机器上选择正确的解释器,所以您提供的任何内容都可能在接收端发生更改。

您所能做的就是记录执行脚本的要求。(例如,“需要bash 4.2或更高版本”)。您可以完全忽略where,因为您依赖于用户知道所需的解释器在哪里。

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

https://stackoverflow.com/questions/58492412

复制
相关文章

相似问题

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