Como navegar nos seletores de arquivos e diretórios da caixa de diálogo?

1

Eu escrevi alguns scripts de shell usando dialog , solicitando ao usuário diretórios e arquivos. No entanto, não sei como alterar o diretório. Quando eu pressiono Space em um dselect , o diretório é adicionado ao caminho exibido, mas pressionar Enter é como selecionar OK .

Então, como navegar pelos diretórios?

    
por rabejens 17.12.2015 / 15:46

1 resposta

3

Na verdade, dialog oferece a capacidade de navegar pelo sistema de arquivos, indo até os diretórios pai ou para baixo para subdiretórios. Aqui está uma breve descrição de como funciona:

  • começando com um widget --dselect , você vê uma tela com dois painéis e dois botões.
  • Um botão é OK , o outro é Cancelar .
  • O painel superior (geralmente maior) tem um título Diretórios .
  • O outro painel não está marcado. É a sua área de trabalho para o caminho do diretório que o widget pode imprimir.
  • Você sempre pode usar a tecla guia (e dependendo do terminal, deslocamento guia ) para mover o cursor para o próximo (ou anterior) item desses quatro, em um loop.
  • Onde o cursor está, esse é o local ativo. Um Enter sempre completa o diálogo, mas nos dois painéis, a barra de espaço tem diferentes significados.
  • Se você pressionar a barra de espaço enquanto estiver no painel Diretórios , o widget anexará o item selecionado no momento na área de trabalho (se ainda não fizer parte do caminho).
  • Você pode usar as teclas de seta para cima / baixo para mover o cursor para cima / baixo, para selecionar um item diferente.
  • Se você digitar qualquer caractere imprimível (incluindo a barra de espaço que copia na área de trabalho), o cursor se moverá para a área de trabalho, bem como moverá a seleção nos Diretórios painel para a correspondência parcial mais próxima do nome.
  • Enquanto estiver na área de trabalho, se você excluir caracteres do caminho, por exemplo, um "/" à direita, o painel Diretórios será ajustado conforme necessário para mostrar os diretórios que podem ser selecionados. Por exemplo, se a área de trabalho contiver /usr/bin e você excluir /bin do final, o painel Diretórios mostrará o diretório /usr .

A caixa de diálogo --fselect funciona da mesma maneira ( é o mesmo código), mas mostra dois painéis no topo, para Diretórios e Arquivos .

    
por 17.12.2015 / 23:56

Tags