パラメータ拡張を使用してパスの一部を削除します...しかし、どうやってですか?

パラメータ拡張を使用してパスの一部を削除します...しかし、どうやってですか?

部品を取り外す必要があります

man1/bmtoa.1.gz

フルパスから

ディレクトリ: /usr/share/man/man1/bmtoa.1.gz

その結果、

マニュアル

${path#[!/]*/*} と ${path#/*/*} を試しましたが、どちらも間違ったパスになります。

答え1

これは機能します${path%/*/*}が、後ろから前に向かって機能します。ここbash で文字列を切り取るための優れた方法です。

答え2

を処理できる場合は/usr/share/man/man1、 を実行できますdirname /usr/share/man/man1/bmtoa.1.gzが、man1 も取り外す必要があると述べているため、それらをデイジー チェーン接続する必要があります。

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

関連情報