Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Nutzen von cd und cp in Bash-Shell - wie???

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    14.02.2001
    Ort
    Stuttgart
    Beiträge
    51

    Nutzen von cd und cp in Bash-Shell - wie???

    Hallo Liste,

    ich weiß gerade nicht, wie ich in einer Bash-Shell die Befehle
    cd und cp einsetzen muß, damit ich in Verzeichnisse wechseln kann und Dateien kopieren kann.

    Also
    Code:
    #!/bin/sh
    DIR=/backup
    echo ${DIR}
    cd $DIR
    FILE=${DIR}/`/bin/date -I`_userdata.1.dar
    cp $FILE previous_backup
    klappt überhaupt nicht.

    MfG

    Eagle

  2. #2
    Registrierter Benutzer
    Registriert seit
    15.04.2005
    Beiträge
    105

    Cool

    cp $DIR/datei

    soweit ich weis kann man in der shell nur mit absoluten pfaden arbeiten, also nix cd

  3. #3
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zitat Zitat von baumgartner
    cp $DIR/datei

    soweit ich weis kann man in der shell nur mit absoluten pfaden arbeiten, also nix cd
    Das ist so falsch.

    Was du meinst ist: Ein Shellscript wird in einer eigenen Shell gestartet. Als Folge davon bist du in der Shell, von der das Script gestartet wurde nach der Ausführung des Scripts immer noch am selben Ort im Verzeichnisbaum, unabhängig davon was das Script macht. d.h. ein Script
    #!/bin/bash
    cd /
    macht für dich nix.

    @OP: Vielleicht könntest du auch sagen was nicht geht?

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  4. #4
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Eagle
    Also
    Code:
    #!/bin/sh
    DIR=/backup
    echo ${DIR}
    cd $DIR
    FILE=${DIR}/`/bin/date -I`_userdata.1.dar
    cp $FILE previous_backup
    klappt überhaupt nicht.

    MfG

    Eagle
    Is klar, wenn unter / kein Verzeichnis backup besteht!?
    man cp
    +
    man cd
    helfen vielleicht weiter.
    Für recursives kopieren sollte - R benutzt werden, aber das
    steht alles in der Manpage.
    Vielleicht im Script auch mal pwd ausführen, dann weißt Du immer
    wo das Script sich zu diesem Zeitpunkt befindet.
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  5. #5
    Registrierter Benutzer
    Registriert seit
    14.02.2001
    Ort
    Stuttgart
    Beiträge
    51
    Hi und guten Morgen,

    vielen Dank für die Informationen, vor allem die mit der eigenen Shell - wußte ich jetzt nicht. cd vergesse ich mal, weil das für das Erzeugen einer Kopie nicht notwendig ist.

    /backup existiert definitiv, da stecken auch Dateien drin wie:
    2005-09-05_userdata.1.dar
    2005-09-06_userdata.1.dar

    Das Shell-Skript steckt in /root und soll nach dem Erzeugen von xxxx-xx-xx_userdata.1.dar dieselbe nach /backup/previous_userdata.dar kopieren.

    Ich habe jetzt mal folgendes ausprobiert:

    Code:
    DIR=/backup
    
    cp -r ${DIR}/2005-09-05_userdata.1.dar ${DIR}/previous_userdata.dar
    Das klappt jetzt ganz prima!

    Vielen Dank!

    Eagle

  6. #6
    Registrierter Benutzer
    Registriert seit
    14.02.2001
    Ort
    Stuttgart
    Beiträge
    51

    Befehlszeile in Skript ist mir unklar

    Bei dieser Gelegenheit habe ich noch eine Frage, weil ich das Skript in einem Tutorial zu DAR gefunden habe.

    Der Skriptausschnitt soll ein inkrementelles Backup eines vorangegangenen Backups machen.

    Code:
    DIR=/backup
    FILE=${DIR}/`/bin/date -I`_userdata
    PREV=`/bin/ls $DIR/*.dar|/usr/bin/tail -n 1|/usr/bin/awk -F '.' '{print $1;}'
    C-m 256 -y -s 4000M -D -R /home/Dokumente \
    /home/gaspers /home/louis /home/engelhardt /home/lueneberg -c $FILE \
       -Z "*.gz" -Z "*.bz2" -Z "*.zip" -Z "*.png" -A $PREV  > /dev/null
    ich verstehe jetzt nicht was
    Code:
    PREV=`/bin/ls $DIR/*.dar|/usr/bin/tail -n 1|/usr/bin/awk -F '.' '{print $1;}'
    macht. $PREV wird zum Vergleich in DAR bei der Option -A benötigt. Aber was macht diese Befehlabfolge, bevor der Datensicherungsbefehl /usr/local/bin/dar kommt?

    Könnt Ihr mir das auch noch so gut erklären?

    Vielen Dank!

    MfG

    Eagle

  7. #7
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Eagle
    ich verstehe jetzt nicht was
    Code:
    PREV=`/bin/ls $DIR/*.dar|/usr/bin/tail -n 1|/usr/bin/awk -F '.' '{print $1;}'
    macht. $PREV wird zum Vergleich in DAR bei der Option -A benötigt. Aber was macht diese Befehlabfolge, bevor der Datensicherungsbefehl /usr/local/bin/dar kommt?

    Könnt Ihr mir das auch noch so gut erklären?

    Vielen Dank!

    MfG

    Eagle
    Suche nach allen Dateien mit der Dateiendung dar.
    tail = man tail (bitte durch lesen )
    Der awk Aufruf gibt dir den Dateinamen aus.
    Zum Schluß wird der gesammte Krams in einer Variablen gespeichert.
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  8. #8
    Registrierter Benutzer
    Registriert seit
    14.02.2001
    Ort
    Stuttgart
    Beiträge
    51
    Danke Romanday,

    habe alles verstanden!

    MfG

    Eagle

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •