(Gentoo) Linux의 PowerShell에서 기본적으로 일반적으로 사용되는 유틸리티에 대한 색상을 활성화하는 방법은 무엇입니까?

(Gentoo) Linux의 PowerShell에서 기본적으로 일반적으로 사용되는 유틸리티에 대한 색상을 활성화하는 방법은 무엇입니까?

현재 Gentoo Linux를 실행 중이고 PowerShell이 ​​설치되어 있습니다(애플리케이션 셸/pwsh-bin) 나는 반대자이기 때문이다.

그런데 특정 명령을 실행할 때 기본적으로 색상을 얻을 수 없습니다. 또는 .lsgrep실행 중이 ls거나 grep일반 셸(예: bash)에서 기본적으로 컬러 출력이 표시됩니다. PowerShell을 실행하거나 실행할 때 색상을 얻으려면 이 두 명령을 ls사용하거나 수동으로 호출해야 합니다 . grep즉, 이와 같은 명령은 PowerShell에서 기본적으로 색상을 갖습니다(Energy는 작동하지 않지만 이는 또 다른 문제입니다).ls --colorgrep --coloremerge

이러한 명령에 색상이 있는지 확인하려면 어떻게 해야 하는지 궁금합니다. 어쩌면 PowerShell은 기본 유틸리티를 사용하지 않지만 ls자체 명령에 대한 별칭을 정의할 수도 있습니다. 하지만 이 정보를 사용하여 문제를 해결하는 방법을 모르겠습니다.

편집: 제공된 답변은 실제로 내 문제를 해결하지 못합니다. 이제 내가 달릴 때는 색깔이 있지만 ls달릴 때는 색깔이 없습니다 grep. 또한 제공된 구성 파일에서 대략 다음과 같은 많은 오류가 발생했습니다.

Set-Alias: /home/jj/.config/powershell/Microsoft.PowerShell_profile.ps1:2 Line | 2 | set-alias cd set-location | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | The AllScope option cannot be removed from the alias 'cd'.

답변1

lsPowerShell은 grep다른 셸에서 사용하는 것과 동일한 바이너리를 사용합니다. 내 Bunsen 연구실 베릴륨(Deb 11)에서는 /usr/bin/ls/usr/bin/grep. 색상 지정은 의 별칭을 사용하여 정의됩니다 .bashrc.

alias grep='grep --color=auto'
alias ls='ls --color=auto'

등에 정의된 별칭은 .bashrcPS 세션으로 전달되지 않습니다. 그러나 PS에는 $profile문서가 있습니다(참조마이크로소프트)"환경을 사용자 정의하고 세션별 요소를 추가하세요". 구성 파일을 찾으려면 $profile셸에 입력하면 됩니다. 내 시스템에서 기본값은 이지만 ~/.config/powershell/Microsoft.PowerShell_profile.ps1설치 후 파일이 존재하지 않습니다. MS 링크에는 만드는 방법에 대한 지침이 포함되어 있지만 따르지 않았습니다. 방금 디렉터리를 만들고 파일을 작성했습니다.

이 주제를 조사한 후 가장 쉬운 방법은 다음과 같습니다.앨리어싱의 명령은 $profile정의된 기능과 결합됩니다. 나는 이것을 내 것으로 사용하게되었습니다 $profile.

if ($host.Name -eq 'ConsoleHost')
{
    function ls_col { & '/usr/bin/ls' --color=always $args }
    Set-Alias -name ls -Value ls_col -Option AllScope
    function grep_col { & '/usr/bin/grep' --color=always $args }
    Set-Alias -name grep -Value grep_col -Option Allscope
}

... 내 Bash 세션과 동일한 색상 ls입니다 .grep

Allscope - 옵션 설명여기.

참고 - 이것은 철저하고 철저한 방법이 아닌 빠르고 더러운 테스트일 뿐입니다. 이 링크는 이를 더욱 촉진하는 데 도움이 될 것입니다. 좀 더 잘 아시는 분이 수정해 주실 수도 있겠네요 :-)

관련 정보