1つ上のディレクトリ のパスを取得するコマンドについて調査したので、ここにメモを残します。
実例
やりたいことは、[/home/test_user/work/sample]というパスに対して[/home/test_user/work]というパスを取得したい。
$ pwd /home/test_user/work/sample $ echo ${PWD%/*} /home/test_user/work $ basename ${PWD} sample $ basename ${PWD%/*} work
まとめ
構文 | 動作 |
${変数/パターン/置換文字列} | パターンに一致する部分を置換文字列に置き換える(1つだけ) |
${変数//パターン/置換文字列} | パターンに一致する部分を置換文字列に置き換える(すべて) |
${変数#パターン} | 先頭から最短一致でパターンに一致する部分を取り除く |
${変数##パターン} | 先頭から最長一致でパターンに一致する部分を取り除く |
${変数%パターン} | 末尾から最短一致でパターンに一致する部分を取り除く |
${変数%%パターン} | 末尾から最長一致でパターンに一致する部分を取り除く |