[Linux] Bash Script Hilfe

Dieses Thema im Forum "Linux & BSD" wurde erstellt von gater001, 8. September 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 8. September 2008
    Bash Script Hilfe

    Hi RRler habe ein kleines Problem mit meinem Bashscript!
    Also zur Geschichte, ich habe mir gedacht ich schmeiß mal wieder Dungeon Siege2 Broken World drauf, hab es mit Wine ohne probleme zocken können bis auf diese performance verluste die es mir manchmal schwer machen was zu sehen da es wie eine diashow ist!
    Also habe ich es mit Cedega versucht...alles hat geklappt bis auf eine kleine Sache:
    Wenn ich speicher erstellt er mir 2 Dateien namlich 1. NAMEdesCHARS.ds2party und NAMEdesCHARS.ds2radar nur die kann er nicht umbennen sie heißen nur .ds2party und .ds2radar. Stören tut es mich eigentlich nicht weil ich kann ja speichern, ABER beim laden gibt es dann die Probleme, er kann es nämlich gar nicht er muss den namen davor haben. Wenn ich es dann vor dem start wieder umbenenne dann läd er auch ganz normal also kam ich zum schluss das ein bash script ziemlich hilfreich wäre!

    An sich sind die Grundbefehle für mich verständlich nur kam das Problem wenn ich es zweimal ausführen wären die dateien weg (werdet ihr gleich im quellcode sehen) also muss eine if funktion rein.
    So bin ich ja nicht blöd und habe vorher gegooglelt und auch bissi was gefunden, jetzt habe ich da was hinbekommen wo er mir aber in jeder Variante Fehler ausgibt!

    Code:
    #!/bin/bash
    dir1="/home/gater001/.cedega/DS2/c_drive/My Documents/My Games/Dungeon Siege 2 Broken World/Save/SinglePlayer/Elondir/"
    if [ -e $dir1".ds2party"]
    then 
    rm $dir1"Elondir.ds2party"
    mv $dir1".ds2party" $dir1"Elondir.ds2party"
    fi
    
    if [ -e $dir1".ds2radar"]
    then 
    rm $dir1"Elondir.ds2radar"
    mv $dir1".ds2radar" $dir1"Elondir.ds2radar"
    fi
    Als Fehler gibt er mir immer das hier aus:
    Code:
    [: 7: missing ]
    [: 13: missing ]
    
    Also nehme ich an da stimmt etwas am fi nicht wüsste aber absolut nicht was!
    hoffe ihr könnt mir helfen
    mfg gater001
     
  2. 8. September 2008
    AW: Bash Script Hilfe

    ach.. wollt mich nicht bedanken.

    wenn ich das richtig in erinnerung habe, musst du hinter den bedingungen im if teil nen semikolon machen...

    Code:
    #!/bin/bash
    dir1="/home/gater001/.cedega/DS2/c_drive/My Documents/My Games/Dungeon Siege 2 Broken World/Save/SinglePlayer/Elondir/"
    if [ -e $dir1".ds2party"] [b];[/b]
    then 
    rm $dir1"Elondir.ds2party"
    mv $dir1".ds2party" $dir1"Elondir.ds2party"
    fi
    
    if [ -e $dir1".ds2radar"] [b];[/b]
    then 
    rm $dir1"Elondir.ds2radar"
    mv $dir1".ds2radar" $dir1"Elondir.ds2radar"
    fi
    bin mir aber nicht sicher ^^

    siehe auch: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_02.html
     
  3. 8. September 2008
    AW: Bash Script Hilfe

    Hey!

    Code:
    "$dir.etc"
    Die Variable musst/kannst mal in die Gaensefuesschen haun, glaub ich (ist schon laenger her, ausprobieren schadet nicht ^^)

    Mfg,

    Kolazomai
     
  4. 8. September 2008
    AW: Bash Script Hilfe

    so hab beides ausprobiert, keines davon geht auch nicht in kombination ?(
    weitere vorschläge?

    //edit:
    ja vergessen zu schreiben was ich alles ausprobiert habe:
    z.b. bei
    Code:
    $dir1".ds2party"
    habe ich folgende möglichkeiten ausprobiert
    Code:
    $dir1".ds2party"
    "$dir1"".ds2party"
    "$dir1".ds2party""
    und das alles noch mit den simikolons
     
  5. 8. September 2008
    AW: Bash Script Hilfe

    Hey!

    Code:
    #!/bin/bash
    
    dir1="/home/gater001/.cedega/DS2/c_drive/My Documents/My Games/Dungeon Siege 2 Broken World/Save/SinglePlayer/Elondir"
    
    if [ -e "$dir1/.ds2party"] ; then 
     rm "$dir1/Elondir.ds2party"
     mv "$dir1/.ds2party" "$dir1/Elondir.ds2party"
    fi
    
    if [ -e "$dir1/.ds2radar"] ; then
     rm "$dir1/Elondir.ds2radar"
     mv "$dir1/.ds2radar" "$dir1/Elondir.ds2radar"
    fi
    Mfg,

    Kolazomai
     
  6. 9. September 2008
    AW: Bash Script Hilfe

    Okey habs hinbekommen war nicht ganz so wie du gesagt hast Kazolomai:
    1. muss dummerweise bei z.B. "$dir1/.ds2party" die Variable auch nochmal in " gesetzt werden also so:
    "$dir1""/.ds2party"
    2. muss nach der bedingung ein leerzeicher vor dem ender der eckigen klammer

    Syntax:
    Code:
    #!/bin/bash
    
    dir1="/home/gater001/.cedega/DS2/c_drive/My Documents/My Games/Dungeon Siege 2 Broken World/Save/SinglePlayer/Elondir/"
    
    if [ -e "$dir1"".ds2party" ] ; then 
     rm "$dir1""Elondir.ds2party"
     mv "$dir1"".ds2party" "$dir1""Elondir.ds2party"
    fi
    
    if [ -e "$dir1"".ds2radar" ] ; then
     rm "$dir1""Elondir.ds2radar"
     mv "$dir1"".ds2radar" "$dir1""Elondir.ds2radar"
    fi

    Und das ist nochmal die überarbeitete Version:
    Code:
    #!/bin/bash
    
    # Die Variable "direction" muss dem Pfad zu den Singleplayer Savegames enthalten,
    # der Variable "name" wird der Name des Charakters zugewiesen
    
    
    name="Elondir"
    direction="/home/gater001/.cedega/DS2/c_drive/My Documents/My Games/Dungeon Siege 2 Broken World/Save/SinglePlayer"
    
    dir1="$direction/$name/"
    
    if [ -e "$dir1"".ds2party" ] ; then 
     rm "$dir1""$name"".ds2party"
     mv "$dir1"".ds2party" "$dir1""$name"".ds2party"
    fi
    
    if [ -e "$dir1"".ds2radar" ] ; then
     rm "$dir1""$name"".ds2radar"
     mv "$dir1"".ds2radar" "$dir1""$name"".ds2radar"
    fi

    BWs sind raus
    [X] Close
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.