현재 Gentoo Linux를 실행 중이고 PowerShell이 설치되어 있습니다(애플리케이션 셸/pwsh-bin) 나는 반대자이기 때문이다.
그런데 특정 명령을 실행할 때 기본적으로 색상을 얻을 수 없습니다. 또는 .ls
grep
실행 중이 ls
거나 grep
일반 셸(예: bash)에서 기본적으로 컬러 출력이 표시됩니다. PowerShell을 실행하거나 실행할 때 색상을 얻으려면 이 두 명령을 ls
사용하거나 수동으로 호출해야 합니다 . grep
즉, 이와 같은 명령은 PowerShell에서 기본적으로 색상을 갖습니다(Energy는 작동하지 않지만 이는 또 다른 문제입니다).ls --color
grep --color
emerge
이러한 명령에 색상이 있는지 확인하려면 어떻게 해야 하는지 궁금합니다. 어쩌면 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
ls
PowerShell은 grep
다른 셸에서 사용하는 것과 동일한 바이너리를 사용합니다. 내 Bunsen 연구실 베릴륨(Deb 11)에서는 /usr/bin/ls
과 /usr/bin/grep
. 색상 지정은 의 별칭을 사용하여 정의됩니다 .bashrc
.
alias grep='grep --color=auto'
alias ls='ls --color=auto'
등에 정의된 별칭은 .bashrc
PS 세션으로 전달되지 않습니다. 그러나 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 - 옵션 설명여기.
참고 - 이것은 철저하고 철저한 방법이 아닌 빠르고 더러운 테스트일 뿐입니다. 이 링크는 이를 더욱 촉진하는 데 도움이 될 것입니다. 좀 더 잘 아시는 분이 수정해 주실 수도 있겠네요 :-)