如果找到"ag"可执行文件,那么定义别名的最佳方法是什么?
if (( $+commands[ag] )) ; then alias grep='ag'; fi
要么
[[ -s $(which ag) ]] && alias grep='ag'
要么
if $(which ag >& /dev/null); then alias grep='ag'; fi
要么 ...?
最好的,我的意思是更强大,更高性能和/或更便携(Bash,Zsh).
你的建议是什么?
我不认为简单明显的POSIX变体与你提出的(大多数非便携式)替代方案相比会有什么缺点.
type ag >/dev/null 2>&1 && alias grep=ag