modificadores de variável csh em bash

csh e zsh têm modificadores de variáveis ​​úteis para lidar com caminhos e nomes de arquivos. Aqui estão as versões do bash:

mypath=/foo/bar/baz.sh
myfile
=baz.sh

* em csh: *

$ echo ${mypath:h}
/foo/bar
$ echo $
{mypath:t}
baz
.sh
$ echo $
{myfile:r}
baz

$ echo $
{myfile:e}
sh

* em bash: *

$ echo ${mypath%/*}
/foo/bar

$ echo ${mypath##*/
}
baz
.sh
$ echo $
{myfile%.*}
baz

$ echo $
{myfile##*.}
sh

Referência