我偶尔做旧的Solaris机器其默认的版本上工作grep
的非POSIX兼容的。这会导致我的 rc 文件出现问题,因为grep
机器上的默认设置不支持我需要的选项。
这是我工作地点的一台机器,我不是管理员;所以我不能只安装我认为合适的更新/更好版本的命令。但是,我注意到该机器确实有合适的XPG版本grep
at /usr/xpg4/bin/grep
。
显然,我可以在我的 rc 文件中解决这个问题(对于 Solaris):
alias grep='/usr/xpg4/bin/grep'
Run Code Online (Sandbox Code Playgroud)
但是那些不需要的机器呢?我的目标是为每个 shell 拥有一个单独的 rc 文件,我可以将其放入任何类 Unix 系统并使其正常工作。
这让我想到...
/usr/xpg4/bin/
的开头添加$PATH
并放弃将单个命令别名到它们的 XPG* 版本吗?
/usr/xpg4/bin/
只存在于“必要”的机器上?
/usr/xpg4/bin/
我的 Ubuntu 机器上不存在。总而言之,这是一个好主意吗?
if [ -d "/usr/xpg4/bin" ]; then
#Place XPG directory at beginning of path to always use XPG version of commands
export PATH="/usr/xpg4/bin:$PATH"
fi
Run Code Online (Sandbox Code Playgroud)
如果没有,为什么不呢?