Seria útil se eu pudesse usar modificadores de histórico bash em scripts como:
!$:h
para obter o caminho de um arquivo.
Existe uma maneira de usá-los em scripts? Por exemplo${1:h}
Seria útil se eu pudesse usar modificadores de histórico bash em scripts como:
!$:h
para obter o caminho de um arquivo.
Existe uma maneira de usá-los em scripts? Por exemplo${1:h}
Esses modificadores de histórico também podem ser aplicados a variáveis de
csh
onde vem o recurso.Mas
bash
optou por não copiar essa parte.zsh
embora. Então você poderia usarzsh
em vez debash
aqui:(o exemplo escolhido para mostrar que
zsh
realmente melhorou ocsh
que teria retornadofoo/bar
; ele também oferece suporte a alguns modificadores úteis adicionais).Em outros shells, você sempre pode usar
dirname
:(embora cuidado, não funciona corretamente para nomes de diretório que terminam em caracteres de nova linha).
Em
bash
, como em outros shells POSIX, você pode usar${file%/*}
, mas fornece resultados inesperados em alguns casos de canto como essefoo/bar/
oufoo
ou/
.