Bash - Como posso fazer o menu de seleção de arquivos zip com base em quantos arquivos zip em um diretório?

0

Estou fazendo um script de ferramenta de temas. Eu quero fazer um menu de seleção de arquivos zip (arquivo zip contém tema) em um diretório, então os usuários vão escolher um arquivo zip que deseja instalar

Exemplo: em / theme / zipfiles / tem theme1.zip, theme2.zip, theme3.zip (os usuários podem adicionar mais arquivos zip de tema)

E eu quero listar esses arquivos zip em script como este:

Choose a theme zip file to install:
1) theme1.zip
2) theme2.zip
3) theme3.zip
# When users add more zip files and this menu will display more

Em seguida, digito 1 e Enter. O theme1.zip deve estar sendo instalado

    
por superquanganh 05.07.2016 / 20:46

1 resposta

1

Você pode usar select . Primeiro, defina $ PS3 para o prompt e, em seguida, use select como um loop, interrompendo quando você tiver dados corretos para obter as informações desejadas:

PS3="Choose a theme zip file to install:"
select theme_file in *.zip; do
    [[ -f "$theme_file" ]] && break
done

echo "Installing ${theme_file%.zip} from ${theme_file}..."
    
por 05.07.2016 / 21:28