我有一个脚本不能在MacOsX上工作。但这不是一个真正的问题:我可以使用try catch来避免奇怪的行为。但是,我总是想让我的脚本在我需要的所有环境中兼容。
{
declare -A fake_declaration=()
} || {
clear
printf "\n\n\nThis script cannot work here\n\n"
exit
}在MacOsX中是否也存在与关联数组一起工作的解决方案?
发布于 2015-09-20 13:31:36
在BASH 4.0中引入了关联数组特性。默认OSX附带BASH版本3.2.xy
您可以使用以下方法检查bash版本:
echo $BASH_VERSION对我来说,这说明:
3.2.57(1)-release您可以像这样调整伪脚本,使其与或不带关联数组一起工作,而不会产生错误:
{ declare -A fake_declaration=(); } 2>/dev/null ||
{ clear; printf "\n\n\nThis script cannot work here\n\n"; }或者是,您可以使用 package来安装BASH 4.3+和所有其他gnu。
https://stackoverflow.com/questions/32679887
复制相似问题