哪个文件定义了 LESSOPEN 环境变量?

哪个文件定义了 LESSOPEN 环境变量?

在我的 Linux 机器上 - 我执行以下操作:

$ env | grep -i LESSOPEN
LESSOPEN=|/usr/bin/lesspipe.sh %s

所以从env命令我看到:

LESSOPEN=|/usr/bin/lesspipe.sh %s

我想更改变量LESSOPEN,因此我进行以下搜索以找到它所在的位置,以便我可以进行此更改。

$ grep -Ril "LESSOPEN" /

grep搜索并没有发现任何此类文件LESSOPEN

答案1

在 Red Hat 和 CentOS 系统上,它在/etc/profile.d/less.sh.在版本 5 上,这包含

# less initialization script (sh)
[ -x /usr/bin/lesspipe.sh ] && export LESSOPEN="${LESSOPEN-|/usr/bin/lesspipe.sh %s}"

在其他系统(例如版本 7)上,该值可能是||/usr/bin/lesspipe.sh %s;以|和开头的值之间的解释略有不同||,详细信息请参见更少的手册页

如果您希望系统上所有类似 bash shell 的用户都看到不同的值,您可以编辑该文件,或者通过编辑~/.bashrc~/.bash_profile添加一行来覆盖它export LESSOPEN=whatever

在Linux系统上,grep -r string /或者grep -R string /在读取某些特殊文件时可能会遇到问题。grep读取时会挂起/dev/rfkill,并且由于我认为是缓冲区分配错误,读取 中的某些大文件时会耗尽内存/proc。另一种方法是排除/devand /proc

find / '(' -path /proc -o -path /dev ')' -prune -o -type f -exec grep -il lessopen {} +

相关内容