Neovim init.lua에서 Linux 배포 이름을 감지하는 방법

Neovim init.lua에서 Linux 배포 이름을 감지하는 방법

내 neovim 구성 ~/.config/nvim/init.lua에서 nvim이 실행 중인 운영 체제 배포판을 어떻게 감지합니까 ? Debian 서버와 Fedora Linux 워크스테이션 시스템에서 서로 다른 Neovim 구성을 갖고 싶습니다.

  • vim.loop.os_uname()"Linux"만 감지합니다.
  • /etc/os-releasefile과 같은 내장 파일이 있습니까 ?

답변1

결국 서투른 방법으로 이 문제를 해결했지만 문제는 해결되었습니다.

그냥 lsb_release를 호출하세요쉘 명령유통 정보를 얻은 다음 패턴을 사례와 일치시킵니다.

local handle = io.popen("lsb_release -i")
local result
if handle ~= nil then
    local result = handle:read("*a")
    handle:close()
    -- From here, match on whichever distro you're looking to handle
    result:match("Ubuntu") -- e.g. looking to handle Ubuntu
end

*보다 일반적인 경우를 처리해야 하는 경우이 페이지에 대한 답변배포판을 확인하기 전에 운영 체제가 Linux인지 확인하는 방법.

**기술적으로 lsb_release가 시스템에 설치된다는 보장은 없지만 저에게는 효과가 있었습니다. 또한 때때로 "사용 가능한 LSB 모듈 없음" 오류가 발생하지만(lsb 정보를 계속 인쇄하는 경우에도) 설명하거나 수정할 수 없습니다.

관련 정보