2016-12-27 3 views
-1
#!/bin/bash 

export folder=`date -d "today - 1 days" '+%Y%m%d'`; 

if filename in /r1/test/med_sms/FDA3A; then 

result= 

if filename = *$folder*; then 

result= mv $filename /r1/test/med_sms/FDA3A/test 

else 

if filename = *$folder*; then 

result= mv $filename /r1/test/med_sms/FDA3A/test 

elif 

done; 

Hi..I'm versucht, die oben scrpot auszuführen, aber es ist die Ausnahme als ./test1.sh werfen: Linie 11: Syntaxfehler in der Nähe von unerwartetem Token `done 'UNIX-Shell-Dateien aus einem Ordner in einem anderen Ordner zu verschieben

./test1.sh: line 11: `done' 

Kann mir bitte jemand dabei helfen?

+0

Sie sollten dies zuerst durch http://www.shellcheck.net/ ausführen - es wird Ihnen helfen, eine Reihe von Problemen zu beheben. Wenn Sie immer noch Probleme haben, sollten Sie zurückkommen und eine Frage zu diesen spezifischen Problemen stellen. –

+0

Hallo Ich habe versucht das ein Skript in shellcheck.net, aber ich habe die folgende Ausnahme #!/Bin/bash export date = "Datum -d" heute - 1 Tage "'+% Y% m% d''; echo "mv *" $ date "* rocra_verzeichnis/rocra_polled/med_sms/FDA3A rocra_verzeichnis/rocra_polled/med_sms/FDA3A/test" Ausnahme: ++ Datum -d 'heute - 1 Tage' +% Y% m% d + Export date = 20161226 + date = 20161226 + echo 'mv * 20161226 * rocra_directory/rocra_polled/med_sms/FDA3A rocra_directory/rocra_polled/med_sms/FDA3A/test' mv * 20161226 * rocra_directory/rocra_polled/med_sms/FDA3A rocra_directory/rocra_polled/med_sms/FDA3A/test – user7344136

Antwort

1
$ help if 
if: if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... 
[ else COMMANDS; ] fi 

Bash if Aussagen in beenden fi

+0

Hallo Ich habe versucht das a-Skript, aber ich habe die folgende Ausnahme #!/bin/bash export date = "Datum -d" heute - 1 Tage "'+% Y% m% d''; echo "mv *" $ date "* rocra_verzeichnis/rocra_polled/med_sms/FDA3A rocra_verzeichnis/rocra_polled/med_sms/FDA3A/test" Ausnahme: ++ Datum -d 'heute - 1 Tage' +% Y% m% d + Export date = 20161226 + date = 20161226 + echo 'mv * 20161226 * rocra_directory/rocra_polled/med_sms/FDA3A rocra_directory/rocra_polled/med_sms/FDA3A/test' mv * 20161226 * rocra_directory/rocra_polled/med_sms/FDA3A rocra_directory/rocra_polled/med_sms/FDA3A/Test .... können Sie bitte helfen – user7344136

1

Sie sollten die ìfelif Anweisung nicht auf diese Weise verwenden, entsprechend der Struktur des Programms sollte dies wie etwas suchen:

export folder=`date -d "today - 1 days" '+%Y%m%d'`; 
if filename in /r1/test/med_sms/FDA3A; then 
    result= something_here 
elif filename = *$folder*; then 

    result= mv $filename /r1/test/med_sms/FDA3A/test 

elif filename = *$folder*; then 
    result= mv $filename /r1/test/med_sms/FDA3A/test 

else 
    result = PUT here the last condition 

fi 
+0

HI Nishant..Thanks für Ihre Antwort .. – user7344136

+0

cool Mate, wenn es hilft bitte akzeptieren Sie die Antwort Elif Post Fehler für weitere Unterstützung –

+0

HI Nishant..Thanks für Ihre Antwort ..Lass mich klar erwähnen, was die Anforderung..im versuche, alle Dateien von gestern in einen anderen Ordner zu movie.my Hauptordner ist/r 1/test/med_sms/FDA3A und wenn es irgendwelche Dateien von gestern ist, dann muss ich Film diese Datei zu/r1/test/med_sms/FDA3A/Test . Können Sie bitte helfen auf diesem .. Auch ich versuchte Ihren Vorschlag und ich habe diese Ausnahme ./test2.sh: Zeile 14: Syntaxfehler in der Nähe von unerwarteten Token 'fi ' ./test2.sh: Zeile 14:' fi' – user7344136

Verwandte Themen