Existe uma maneira de alias o comando cd para que ele proteja os argumentos?

2

Quando eu corro

cd My folder

Ocorreu um erro porque eu não protegi a string.

bash: cd: My: No such file or directory

Mas isso funciona bem

cd "My folder"

Existe uma maneira de redefinir o cd como um alias ou uma função para que ele proteja automaticamente todos os argumentos a seguir como uma única string?

Essa abordagem não funcionou, como eu esperava que não fosse:

cd () { cd "$*" ; }

    
por Strapakowsky 04.06.2012 / 01:35

1 resposta

10

Você pode fazer isso, mas somente se os nomes dos diretórios não contiverem vários espaços consecutivos, e somente se eles não contiverem nenhum caractere especial de shell diferente de espaços.

cd () { builtin cd "$*"; }

Na prática, use a conclusão: digite cd My e pressione Tab . O Bash irá inserir barras invertidas antes de caracteres especiais.

    
por Gilles 04.06.2012 / 02:12