如何检查ls版本

To1*_*1ne 4 shell

这个主题是关于util'ls'的BSD版本使用参数'-G'为输出着色,而Linux版本使用参数'--color'

设置颜色的环境变量也是不同的:BSD:$ LSCOLORS Linux:$ LS_COLORS

但现在的问题是:我想确定安装了哪个版本(使用一个小的Shell脚本),所以我可以在我的.bachrc文件中设置别名ls和环境.

pix*_*eat 6

正如我上面提到的,在我看来这是最方便的方法

if ls --color -d . >/dev/null 2>&1; then
    GNU_LS=1
elif ls -G -d . >/dev/null 2>&1; then
    BSD_LS=1
else
    SOLARIS_LS=1
fi
Run Code Online (Sandbox Code Playgroud)

我基本上是在我的脚本中,我在各种平台上使用它来调整ls输出