在 mac 下安装 GNU 软件包

1,089 阅读2分钟
原文链接: segmentfault.com

今天在mac上运行一个 shell脚本出现了很多错误,发现很多自带的命令和GNU的命令在使用上有很多不同,所以就试着在mac上安装GNU的常用软件包。

安装Homerew

Homebrewmac下类似apt-getyum的软件管理工具,相当方便,在终端运行下面的命令安装:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew官网

升级bash

使用brew安装bash

brew install bash

执行下面的命令替换原来的bash

sudo mv /bin/bash /bin/bash.old
sudo ln -s /usr/local/opt/bash/bin/bash /bin/bash

在替换的时候可能出现operation not permitted错误,可以使用下面的方法解决

operation not permitted 错误解决

验证安装成功:

$ bash -version
GNU bash,版本 4.4.12(1)-release (x86_64-apple-darwin16.3.0)
Copyright (C) 2016 Free Software Foundation, Inc.
许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl.html>

本软件是自由软件,您可以自由地更改和重新发布。
在法律许可的情况下特此明示,本软件不提供任何担保。

安装coreutils

GNU的常用命令软件包在coreutils中,如lscpmv等命令,使用brew安装

brew install coreutils

安装完成后配置环境,在.bashrc文件中编辑PATH变量保存

/usr/local/opt/coreutils/libexec/gnubin

可以进入上面的目录看看都有哪些命令

执行 source .bashrc 使修改生效

配置颜色

在终端执行ls命令,发现列出的文件不高亮显示了,需要配置一下。运行下面的命令创建严责配置文件:

gdircolors --print-database > ~/.dir_colors

启用颜色配置文件,在.bashrc文件后面添加下面的内容保存:

  alias ls='ls -F --show-control-chars --color=auto'
  eval `gdircolors -b $HOME/.dir_colors`

运行source .bashrc使配置生效,再执行ls就高亮了。

使用vim也可能不是高亮显示的,在.vimrc文件最后添加下面的内容保存:

syntax on

再次使用vim打开代码文件就高亮了,还有其他的配置可以自己google

sed 与 awk

sedawk是处理文本的利器,但是mac自带的也有些不同,但是coreutils中没有这两个软件,需要单独安装

brew install gawk
brew install gsed

安装完成后,在.bashrc文件后面加入

alias awk=gawk
alias sed=ased

执行 source .bashrc使修改生效,这样使用sedawk就链接到了gsedgawk

这样就配置完成了。zsh是一种很强大的shell,有兴趣可以自行google折腾一下。