Conky가 함수를 사용하여 사용자 이름을 자르는 해결 방법을 만들려고 합니다 top user
. 을 사용하여 id -nu $uid
다음을 시도했습니다.
${exec id -nu ${top uid \1}}
이로 인해 "잘못된 대체" 오류가 발생합니다. 최상위 함수가 정수 대신 문자열을 보내기 때문일 수도 있다고 생각하여 루아 함수를 만들어 보았습니다.
function conky_uid_to_name(uid)
num = tonumber(conky_parse(uid))
name = conky_parse('${exec id -nu ${num}}')
return name
end
그러나 이것은 파서가 내 변수를 볼 수 없기 때문에 결코 작동하지 않습니다. name
Conky가 올바르게 구문 분석하는 변수 에 변수를 어떻게 보내나요 ? 이 작업을 수행하는 더 쉬운 방법이 있다고 확신하지만 Lua 예제를 많이 찾지 못했고 해당 문서도 심각하게 부족합니다.
답변1
템플릿을 사용하지 않는 경우 상단에 결과를 제공한 후 eval을 사용하여 exec를 다시 분석할 수 있습니다.
${eval $${exec id -nu ${top uid 1}}}
실행 중인 exec 는 $$
중지되지만 ${
top은 실행이 허용됩니다.