Configuration
哪個文件定義了 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
。
在 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
;|
以and開頭的值之間的解釋略有不同,手冊頁中||
詳細介紹了less。如果您希望系統上類似 bash 的 shell 的所有使用者看到不同的值,您可以編輯該文件,或者通過編輯
~/.bashrc
或~/.bash_profile
有export LESSOPEN=whatever
一行來為自己覆蓋它。在 Linux 系統上,
grep -r string /
或者grep -R string /
在讀取某些特殊文件時可能會遇到問題。grep
讀取時會掛起/dev/rfkill
,並且由於我認為是緩衝區分配錯誤,讀取/proc
. 另一種方法是排除/dev
and/proc
:find / '(' -path /proc -o -path /dev ')' -prune -o -type f -exec grep -il lessopen {} +