디렉토리 트리 목록, 스크립트가 csh에서 작동하지 않습니까?

디렉토리 트리 목록, 스크립트가 csh에서 작동하지 않습니까?
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'

디렉토리 트리를 표시하는 명령(위 참조)을 찾았는데 작동하지 않습니다. "잘못된 변수 이름"이라는 오류 메시지가 표시되었습니다. 나는 오류가 $기호에 있다고 생각합니다. cshell 환경에 맞게 이 명령을 어떻게 수정합니까?

답변1

:$쉘이 확장되는 것을 방지하려면 작은따옴표로 묶어야 합니다.

그래서ls -R | grep ':$' | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'


다음으로 배울 것은 쉘 인용과 확장입니다.

csh이것이 실수라고 생각하는 사람들도 많습니다 . 그것은 이상하고 일관성이 없는 행동으로 가득 차 있습니다. 다른 것을 고려해보세요 bash,, ksh...fish

답변2

쉘 스크립트 대신 외부 명령을 사용할 수 있습니다. "트리"가 귀하의 환경에서 사용 가능하다면 이는 쉽습니다.

tree -d

관련 정보