No Zsh, de cd
to ~/foo/bar/aaa/bbb/ccc
, ~/foo/bar/zzz/bbb/ccc
posso digitar cd aaa zzz
e pronto. Li atentamente a cd
página de manual do Fish, mas ainda não consigo descobrir: a mesma coisa é possível aí?
No Zsh, de cd
to ~/foo/bar/aaa/bbb/ccc
, ~/foo/bar/zzz/bbb/ccc
posso digitar cd aaa zzz
e pronto. Li atentamente a cd
página de manual do Fish, mas ainda não consigo descobrir: a mesma coisa é possível aí?
Não é possível, a documentação é clara sobre isso, /usr/share/doc/fish/cmds/cd.html na maioria dos sistemas.
não deixa margem para interpretação; há zero ou um argumento para
cd
.É claro que você poderia escrever sua própria função shell, chamada
cd
, que conta o número de argumentos obtidos, se eles forem < 2 apenascommand cd $argv[1]
; else obtém o atualpwd
, substitui o$argv[1]
componente por$argv[2]
ecommand cd
no resultado.Observe que você provavelmente não deveria fazer isso, no entanto. Fish é um pouco...estranho por não ter noção de aliases de shell , ou seja, você não pode ter algo que só funcione em modo interativo. Então, a partir daí, toda vez que um script de shell de peixe fizer isso
cd
, ele executará sua própria função de shell, e isso pode simplesmente levar muito tempo para uma das operações mais comuns em scripts de shell!