set_color를 더 추가하면 물고기 팁이 엉망이 됩니다.

set_color를 더 추가하면 물고기 팁이 엉망이 됩니다.

맞춤형 피시팁을 만들려고 노력했지만 어떻게 해결해야 할지 알 수 없는 문제가 있는 것 같습니다.

ash@cat-box작동하게 되었지만 녹색이길 바랐기 때문에 정확하게 내가 원했던 것은 아닙니다.일하는 물고기 팁

이것은 제가 원하는 모양으로 정확하게 만들려고 노력하고 있지만 많은 것들이 엉망이고 왜 또는 어떻게 고칠 수 있는지 이해하지 못합니다. 물고기 팁이 작동하지 않습니다

이 작업을 수행하는 데 도움이 되는 힌트와 이 작업이 수행되는 이유를 설명하면 감사하겠습니다.

답변1

문제 %s는 형식 지정자가 없다는 것입니다 printf. %s인수를 문자열로 바꾸도록 printf에 지시합니다. 더 많은 문자열을 추가하면(이 경우 에 대한 새 호출 set_color) 어디에 넣어야 할지 알 수 없으므로 문자열은 끝에 추가됩니다.

즉각적인 수정은 더 많은 %s지정자를 추가하는 것입니다.

printf '%s%s@%s%s:%s%s%s$' (set_color green) $USER $hostname (set_color normal) \
                           (set_color blue) (prompt_pwd) (set_color normal)

그러나 이는 약간 다루기 힘들지만, 별도의 명령으로 나누면 더 명확해질 수 있습니다.

function fish_prompt
    set_color green
    printf '%s@%s' $USER $hostname
    set_color normal
    printf ':'
    set_color blue
    printf '%s' (prompt_pwd)
    set_color normal
    printf '$ '
end

관련 정보