我需要以编程方式将 glob 模式(如../smth*/*
, 或/etc/cron*/
)扩展到文件列表中。最好的方法是什么?
我正在运行 FreeBSD 9.1-RELEASE。我已经安装了 GNU grep portmaster textproc/gnugrep
。
然而,用户的“默认”grep 仍然是 FreeBSD grep。
# /usr/local/bin/grep -V
/usr/local/bin/grep (GNU grep) 2.12
# grep -V
grep (GNU grep) 2.5.1-FreeBSD
Run Code Online (Sandbox Code Playgroud)
我想让 GNU grep 成为默认值。我知道问题在于我的PATH
环境变量中指定的目录顺序:
# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
Run Code Online (Sandbox Code Playgroud)
但是,我害怕将/usr/local/bin
条目移动到我的PATH
. 安全吗?
在像 Debian 这样的 Linux 发行版中,此类任务通常通过dpkg-divert
和/或update-alternatives
.
在 FreeBSD 中做我想做的事情而不破坏系统升级等的最佳方法是什么?