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