#!/bin/bash # 1. Lista partições físicas disponíveis (excluindo loop e rom) DISCOS=($(lsblk -lpno NAME,TYPE | grep part | awk '{print $1}' | grep -vE 'loop|sr|rom')) # Verifica se encontrou discos if [ ${#DISCOS[@]} -eq 0 ]; then echo "Nenhuma partição encontrada." exit 1 fi # 2. Mostra menu para o usuário escolher echo "Selecione uma partição para montar:" for i in "${!DISCOS[@]}"; do echo "$((i+1))) ${DISCOS[$i]}" done # 3. Recebe escolha read -p "Digite o número da partição desejada: " escolha # Valida escolha if ! [[ "$escolha" =~ ^[0-9]+$ ]] || [ "$escolha" -lt 1 ] || [ "$escolha" -gt ${#DISCOS[@]} ]; then echo "Opção inválida." exit 1 fi DEVICE=${DISCOS[$((escolha-1))]} # 4. Obtém UUID UUID=$(blkid -s UUID -o value "$DEVICE") if [ -z "$UUID" ]; then echo "UUID não encontrado para $DEVICE" exit 1 fi # 5. Detecta o tipo de sistema de arquivos FSTYPE=$(blkid -s TYPE -o value "$DEVICE") if [ -z "$FSTYPE" ]; then echo "Tipo de sistema de arquivos não encontrado." exit 1 fi # 6. Solicita ponto de montagem read -p "Informe o ponto de montagem (ex: /mnt/dados): " MOUNTPOINT # Cria se não existir if [ ! -d "$MOUNTPOINT" ]; then echo "Criando diretório $MOUNTPOINT" mkdir -p "$MOUNTPOINT" fi # 7. Linha que vai pro fstab FSTAB_LINE="UUID=$UUID $MOUNTPOINT $FSTYPE defaults 0 2" # Verifica se já existe if grep -qs "$UUID" /etc/fstab; then echo "UUID já está no fstab. Abortando." exit 1 fi # 8. Escreve no fstab echo "Adicionando ao /etc/fstab:" echo "$FSTAB_LINE" echo "$FSTAB_LINE" | tee -a /etc/fstab # 9. Monta mount -a # 10. Sucesso echo "Montado $DEVICE em $MOUNTPOINT com UUID=$UUID"