MacOS中的Bash脚本与LInux有什么不同?

MacOS中的Bash脚本与LInux有什么不同?,linux,bash,macos,Linux,Bash,Macos,在Linux上,if-else代码为: 在MacOS中编写脚本时,上面的代码是如何更改的?Bash在任何平台上基本相同。您的if-else代码在Linux、MacOS甚至Windows上都完全相同 您可以发现的主要区别是: 可用命令-并非每个工具都移植到每个平台 由于使用较旧/较新版本的shell而导致的次要功能更改 不同的文件位置 它没有。在Linux和Darwin上,您指定的语句都会返回一个continuation提示符(即“>”): $:如果[[1]],则回显“true”,否则回显“fa

在Linux上,if-else代码为:


在MacOS中编写脚本时,上面的代码是如何更改的?

Bash在任何平台上基本相同。您的if-else代码在Linux、MacOS甚至Windows上都完全相同

您可以发现的主要区别是:

  • 可用命令-并非每个工具都移植到每个平台
  • 由于使用较旧/较新版本的shell而导致的次要功能更改
  • 不同的文件位置

它没有。在Linux和Darwin上,您指定的语句都会返回一个continuation提示符(即“>”):

$:如果[[1]],则回显“true”,否则回显“false”fi

但是,这在Linux和MacOS上的效果完全相同

$if[1];然后回应“这是真的”;否则呼应“这是错误的”;fi
确实

当我在达尔文尝试上述代码时,没有得到理想的输出。您需要提供更好的示例(在另一个问题中),因为您提供的代码将始终提供空的
bash
输出版本,在任何平台上基本相同。众所周知,macOS附带的
bash
版本比您通常从大多数Linux发行版中看到的版本要旧得多。macOS只提供
bash
的3.2版;大多数Linux发行版都提供了更新的版本。您正在运行的确切代码是什么,它的结果与您期望的有什么不同?OP在最初的修订版中有换行符,但它们被文章中缺少代码格式所吞噬
if [[ condition ]]
then 
    echo ""
else
    echo ""
fi