Nixos

sdkman 在 nixos 上缺少 less-R 命令

  • March 27, 2016

我最近在 nixos 上安裝了 sdkman.io 並遇到了一些奇怪的錯誤。在安裝了 which、jdk 和 less 之後,我在執行時仍然收到此錯誤sdk list

less -R: command not found

但我可以less從同一個終端執行。我怎樣才能解決這個問題?

您需要確保在less其參數之間存在未轉義的空格字元。

從錯誤消息中,您可以看到 shell 將整個字元串less -R視為命令,因此命令執行字元串中的空格字元被轉義。可能是因為在某處使用了引號(不太可能使用反斜杠)。

查看 sdkman-cli 原始碼,export PAGER="less -R"您的.bashrc.bash_profile.

在這種情況下,第 33 行或第 35src/main/bash/sdkman-utils.sh行將產生這個錯誤。這似乎是預期的,因為PAGER環境變數用於定義執行檔,並且假定它不包含其他選項(看起來像是一種常見做法而不是標準)。

應使用less設置環境變數的選項,因此在您的情況下應應用以下設置:LESS

export PAGER=less
export LESS="-R"

作為練習,您可以通過在 shell 中鍵入以下內容來驗證您在任何系統上是否收到此錯誤消息:

"less -R"

引用自:https://unix.stackexchange.com/questions/271844