eval 명령이 WSL Ubuntu에서 오류를 발생시킵니다.

eval 명령이 WSL Ubuntu에서 오류를 발생시킵니다.

wsltty에서 태양광 색상 구성표를 사용하려고 합니다.이것다음 명령을 복사해야 하는 부분을 제외하고 튜토리얼과 다른 모든 것이 작동합니다.

source ~/.mintty-colors-solarized/mintty-solarized-light.sh
eval (dircolors -c ~/.dir_colors | sed 's/>&\/dev\/null$//'

나는 그것을 사용하지 않기 때문에 fish명령을 파일에 붙여넣었 .bashrc지만 다음과 같은 오류가 발생했습니다.

-bash: .bashrc: line 119: syntax error near unexpected token 'dircolors'
-bash: .bashrc: line 119: 'eval (dircolors -c ~/.dir_colors | sed 's/>&\/dev\/null$//')'

어떻게 해야 할지 모르겠습니다. 일광화상 색상 구성표가 제공되지만 ls출력과 같은 텍스트 콘텐츠는 선화 구성표에 표시되지 않으므로 이 명령이 이와 관련이 있다고 확신합니다. 누구든지 나를 도와줄 수 있나요? 나는 bash에 대한 경험이 많지 않습니다.

답변1

fish의 구문을 사용하려고 합니다 bash. 이들은 각각 고유한 구문을 가진 두 개의 서로 다른 쉘입니다. 한 쉘에서 다른 쉘로 맹목적으로 명령을 복사하고 작동하기를 바랄 수는 없습니다.

eval내장 함수는 fish사용자가 제공한 괄호 안에 있는 하위 쉘을 분명히 이해하지만 작동하지 않습니다 bash. 대신 따옴표를 사용하십시오.

eval "dircolors -c ~/.dir_colors | sed 's/>&\/dev\/null$//'"

이제 이것이 bash에 적용되는지는 모르겠습니다. 튜토리얼에 다른 물고기 관련 규칙이 있을 수 있습니다. 그러나 이것은 최소한 실행하려는 명령을 실행합니다.

관련 정보