有没有办法让 GNU coreutils ls
(或任何其他开源)仅在输出通过管道传输时ls
省略尾随符号(*
对于可执行文件、目录等)?/
GNUls
有一个--color[=WHEN]
选项,接受auto
在不通过管道输出时自动显示颜色,并在通过管道输出时省略颜色的控制序列。我正在寻找有关指示文件类型的尾随符号的相同行为。
答案1
ls
想必您有一个无条件添加-F
(或) 选项的别名--classify
。我将通过创建一个包装函数来测试 stdout 是否是终端来解决这个问题;仅-F
当输出是终端时才添加该选项。
function ls {
if [ -t 1 ]
then
command ls -F "$@"
else
command ls "$@"
fi
}
根据需要调整其他默认选项。