Ergebnis 1 bis 4 von 4
  1. #1
    Ontario
    Themenstarter
    Avatar von Grawapple
    Registriert
    05.2006
    Ort
    Meisterschwanden
    Alter
    21
    Beiträge
    348

    Hilfe mit Bash/Shell, simples Skript will einfach nicht so wie es sollte!!

    Tag auch und frohe Weihnachten! Ich habe eine Frage bezüglich Bash/Shell
    Folgendes Skript:

    Code:
    #!/bin/sh
    
    if [ "$1" == "" ] ; then
    echo "Type your content here!"
    exit 1
    fi
    
    if [ "$2" == "" ] ; then
    echo "Type filename here!"
    exit 1
    fi
    
    if [ $3 == "" ] ; then
    echo "Type prefered directorie here!"
    exit 1
    fi
    
    if [ -d $2 == true ] ; then
    cd $2
    else
    mkdir $2
    cd $2
    fi
    
    echo $1 > $2
    
    echo "Action completed!"
    exit 0
    Wenn ich nun ./test.txt eingebe denn fragts auch zuerst nach dem content. dann gebe ich "bla" als content ein und rücke enter. eigentlich sollte es dann zur nächsten aufforderung kommen. aber das tut es nicht. es sagt "unknown command: bla"
    wenn ich dann versuche gleich alle drei parameter anzugeben - so: ./test.txt bla bla.txt /Users/user/Desktop/ , dann steht da: too many arguments on line soundso...

    Kann mir da wer weiterhelfen?

    LG und TY
    Yatekii

  2. #2
    Roter Stettiner Avatar von philo
    Registriert
    10.2004
    Ort
    Berlin
    Alter
    31
    Beiträge
    972
    also dein programm ist schon beendet, wenn du bla eingibst. Das System kennt dann den Befehl "bla" nicht...
    Dat issa: MBP Core i5, 2,4 GHz, 4 GB RAM, Mac OS X 10.6.3, 320 GB

  3. #3
    Roter Stettiner Avatar von philo
    Registriert
    10.2004
    Ort
    Berlin
    Alter
    31
    Beiträge
    972
    Kenne mich auf der Shell nicht so gut aus, aber zumindest funktioniert das hier jetzt:

    - then auf einen neue Zeile
    - die Semikolons weg
    - Zeile 21 gibt noch einen Fehler

    Code:
    #!/bin/sh
    
    if [ "$1" == "" ] 
    then
    echo "Type your content here!"
    exit 1
    fi
    
    if [ "$2" == "" ] 
    then
    echo "Type filename here!"
    exit 1
    fi
    
    if [ "$3" == "" ]
    then
    echo "Type prefered directorie here!"
    exit 1
    fi
    
    if [ -d $2 == true ]
    then
    cd $2
    else
    mkdir $2
    cd $2
    fi
    
    echo $1 > $2
    
    echo "Action completed!"
    exit 0
    Gruss
    philo
    Dat issa: MBP Core i5, 2,4 GHz, 4 GB RAM, Mac OS X 10.6.3, 320 GB

  4. #4
    Charlamowsky Avatar von Rastafari
    Registriert
    03.2005
    Beiträge
    12.966
    Zitat Zitat von philo Beitrag anzeigen
    - then auf einen neue Zeile
    Semikolon oder neue Zeile sind äquivalent.

    if [ -d $2 == true ]
    Code:
    if [ -d "$2" ]; then
      ....;
    fi;
    ENTWEDER benutzt du -d ODER den Stringvergleich mit ==
    Beides zusammen geht schlecht.

Ähnliche Themen

  1. Umgang mit AWK im BASH-skript
    Von paperbag im Forum Unix & Terminal
    Antworten: 10
    Letzter Beitrag: 22.06.2009, 20:08
  2. Linux-Bash-Skript in Mac OS 10.5.7 nutzen?
    Von MoTw im Forum Unix & Terminal
    Antworten: 40
    Letzter Beitrag: 17.05.2009, 11:56
  3. bash skript aufrufen
    Von jolanda im Forum Unix & Terminal
    Antworten: 0
    Letzter Beitrag: 30.11.2007, 23:29
  4. shell bzw. bash eindeutschen
    Von stehlampe im Forum OS X Server
    Antworten: 9
    Letzter Beitrag: 05.02.2007, 08:47

Berechtigungen

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