É possível excluir o diretório quando no diretório no shell

0

Eu tenho um diretório no qual eu corro um programa.
    / usr / bin / my-dir

Eu preciso executar o programa de dentro do diretório Então devo ir     cd / usr / bin / my-dir     ./my-program

Eu tenho um script que de uma máquina remota atualiza meu programa assim:     rm -rf / usr / bin / meu-dir     mv meu programa / usr / bin / meu-dir

O problema é quando eu tenho ssh'd na máquina e estou no diretório / usr / bin / my-dir O script falha, pois não pode executar com sucesso rm -rf / usr / bin / meu-dir (exclui todo o conteúdo, mas não o diretório)

Existe alguma maneira de contornar isso (por exemplo, alguma maneira de configurar o shell para permitir a exclusão do diretório enquanto estou nele?) ou alguma outra solução? Atualmente eu saio do diretório cd, executo o script e, em seguida, cd de volta para o diretório, mas eu tenho que fazer isso centenas de vezes por dia - deve haver uma maneira mais eficiente de fazer isso.

    
por simmons 03.05.2015 / 21:05

1 resposta

0

Apenas no caso de ajudar alguém. Acontece que a maneira como o shell funciona é que, se um diretório atual for excluído em uma instância diferente do shell e for recriado e preenchido com arquivos, o shell original mostrará um diretório vazio.

Para ver os arquivos novamente, basta ir

cd .

Isso levou à solução do problema original, não excluindo o próprio diretório (apenas excluindo e substituindo arquivos específicos).

    
por 04.05.2015 / 10:17

Tags