Alguém poderia me fazer um script bem básico? [RESOLVIDO]

Iniciado por tucaubuntu, 19 de Junho de 2008, 00:56

tópico anterior - próximo tópico

tucaubuntu

Olá!

Gostaria de fazer um tipo "porta-arquivos" do windows usando o rsync.

Tem como fazer um script que, quando executado, me pergunte se eu quero copiar os arquivos do Pen para o PC ou do PC para o pen? e dependendo da resposta execute um desses comandos?

Do PEN Para o PC --->> rsync -Cravzp /media/KINGSTON/rSync/ /home/arthur/"Área de Trabalho"/"Pen Drive KINGSTONE"/
DO PC para o PEN --->> rsync -Cravzp /home/arthur/"Área de Trabalho"/"Pen Drive KINGSTONE"/ /media/KINGSTON/rSync/

Quem ajudar ganha um  doce!!!

Valeu gente, abraços!

VincentRichardMagnus

Adoro doce!  ;D

Isto deve servir:

#!/bin/bash

PENPC=1
PCPEN=2

prompt()
{
    local my_reply
    while true; do
        cat <<-ENDQUESTION
        * Digite 1 para copiar os arquivos do pen drive para o PC;
        * Digite 2 para copiar os arquivos do PC para o pen drive.

        ENDQUESTION
        read -p "[1-2] " my_reply
    case "$my_reply" in
                1) return $PENPC ;;
                2) return $PCPEN ;;
                *) continue ;;
            esac
    done
}

main() {
    prompt
    result=$?

    case $result in
    $PENPC)
        echo '<Pen drive para o PC>'
        rsync -Cravzp /media/KINGSTON/rSync/ /home/arthur/"Área de Trabalho"/"Pen Drive KINGSTONE"/
        ;;
    $PCPEN)
        echo '<PC para o pen drive>'
        rsync -Cravzp /home/arthur/"Área de Trabalho"/"Pen Drive KINGSTONE"/ /media/KINGSTON/rSync/
        ;;
    esac
    return $?
}

main


Você pode precisar de algo mais complexo, como poder especificar a pasta de destino e de origem.

tucaubuntu

entro no terminal, chego na pasta do cript e digito : ./nome-do-script

Volta esse erro:

arthur@arthur:~/Área de Trabalho$ ./pendrive.sh
./pendrive.sh: line 42: erro de sintaxe: fim de arquivo inesperado

e agora josé?

VincentRichardMagnus

José, não. Prefiro Vince.

Tá vendo essa linha:


ENDQUESTION


Apague os espaços no início dela, assim:


ENDQUESTION


Isto deve resolver.

tucaubuntu

Muito legal vincent!!! Bacana mesmo!

Rodou que é uma beleza!

Valeu cara!

VincentRichardMagnus

E isso ai, pessoa (porcaria de atualizaçao do Ubuntu que me roubou os acentos).