我最近在nixos上安装了sdkman.io,并遇到一些奇怪的错误。在还安装了jdk和更少的东西之后,我仍然在运行时收到此错误sdk list
less -R: command not found
但是我可以less
从同一终端运行。我怎样才能解决这个问题?
您需要确保在less
及其参数之间有一个不可转义的空格字符。
从错误消息中,您可以看到shell将整个字符串less -R
视为命令,因此命令执行字符串中的空格字符被转义。可能是因为在某处使用了引号(反斜杠的可能性较小)。
看一下sdkman-cli源代码,export PAGER="less -R"
您.bashrc
或中似乎很有可能拥有.bash_profile
。
在这种情况下,第33或35行src/main/bash/sdkman-utils.sh
会产生此错误。似乎可以预期,因为PAGER
环境变量用于定义可执行文件,并且假定它不包含其他选项(看起来像是一种常规做法,而不是标准做法)。
要设置选项less
的环境变量LESS
,应使用,因此在你的情况下,下面的设置应适用:
export PAGER=less
export LESS="-R"
作为练习,您可以通过在shell中键入以下命令来验证您在任何系统上均收到此错误消息:
"less -R"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句