매개변수 확장을 사용하여 경로의 일부를 제거합니다... 그런데 어떻게?

매개변수 확장을 사용하여 경로의 일부를 제거합니다... 그런데 어떻게?

그 부분을 제거해야 해요

man1/bmtoa.1.gz

전체 경로에서

/usr/share/man/man1/bmtoa.1.gz

그래서 결과적으로

/usr/공유/남자/

${path#[!/]*/*} 및 ${path#/*/*}를 시도했지만 둘 다 잘못된 경로가 발생합니다.

답변1

이것은 작동 ${path%/*/*}하지만 뒤에서 앞으로 작동합니다.여기bash에서 문자열을 자르는 좋은 방법입니다.

답변2

을 처리할 수 있다면 을 /usr/share/man/man1수행할 수 있지만 dirname /usr/share/man/man1/bmtoa.1.gzman1도 제거해야 한다고 명시했으므로 데이지 체인으로 연결해야 합니다.

dirname `dirname /usr/share/man1/bmtoa.1.gz`

관련 정보