我有这行代码:
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
之间有区别吗?
eval "$(SHELL=/bin/sh lesspipe)"
更简单
SHELL=/bin/sh lesspipe
(或export SHELL=/bin/sh lesspipe
)(顺便使用export
而不使用它有什么区别?)
答案 0 :(得分:1)
是的,有区别。
第二个示例只运行lesspipe
,并在其环境中将SHELL
变量设置为/bin/sh
。
第一个示例执行相同操作,但接受输出并将其作为当前shell中的命令运行。