在 Mac OS X 上无法本地覆盖可执行文件

在 Mac OS X 上无法本地覆盖可执行文件

在 mac os x 上,我希望能够在head文件名后面添加参数,就像在 ubuntu 上一样:head <filename> -n 2

所以我有一个head可执行文件~/bin/head,它被列出 /usr/bin在$PATH中:

piousbox@mac:~/bin$ which head
/Users/piousbox/bin/head

脚本很简单:

if [[ $# == 3 ]]; then
  /usr/bin/head $2 $3 $1
else
  /usr/bin/head $1
fi

但当我运行时head <somefile> -n 2它仍然会出现错误

head: -n: No such file or directory
head: 2: No such file or directory

提示正在使用系统文件而不是我的文件head。我该如何解决?

答案1

如果您已在 PATH 中包含您的文件夹~/bin/head,请改用$HOME/bin/head

相关内容