저는 지난 몇 달 동안 oh-my-sh를 사용해 왔는데 정말 마음에 듭니다 :) 그리고 색상 배열 fg_bold[]가 있다는 것을 알았고 그 배열을 사용하여 색상으로 정보 메시지를 에코할 수 있습니다.
예: echo $fg_bold[yellow] "해보자!"
터미널에서 이것을 실행하면 매력처럼 작동합니다.
하지만 새로운 zsh 스크립트를 열고 복사하여 붙여넣으면 실패하는 것 같습니다($fg_bold[yellow]가 비어 있음).
#!/usr/bin/zsh #에서 가져옴
which zsh
echo $fg_bold[yellow] "시작합시다!"
env
추가할 더 많은 fg_bold 배열은 합계 에 표시되지 않습니다 printenv
. 내가 여기서 무엇을 놓치고 있는 걸까요?
다들 감사 해요
답변1
이 변수는 colors
자동 로드 기능에서 추출됩니다.
함수를 로드하고 실행해야 합니다.
autoload colors
colors
colors
이 기능이 필요하지 않은 프롬프트 확장을 사용할 수도 있습니다 .
print -P %F{red}
또는:
echo ${(%):-%F{red}}
어쨌든 이것은 연관배열이다.껍데기변수는 환경으로 내보낼 수 있거나 내보내야 하는 항목이 아닙니다. 선언을 보려면 다음을 사용하세요 typeset -p fg_bold
(변수에 -H
(숨겨진 값) 속성이 있으므로 typeset -p
값이 표시되므로 로 속성을 제거 typeset +H fg_bold
하거나 로 값을 볼 수 있습니다 typeset fg_bold
).