简体   繁体   English

UNIX Shell将文件从一个文件夹移动到另一个文件夹

[英]UNIX shell to move files from one folder to another folder

  #!/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 trying to execute the above scrpot but it is throwing the exception as ./test1.sh: line 11: syntax error near unexpected token `done' 您好..我正在尝试执行上述scrpot,但它将异常抛出为./test1.sh:第11行:意外标记'done'附近的语法错误

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

Can someone please help on this? 有人可以帮忙吗?

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

Bash if statements end in fi Bash if语句以fi结尾

You shouldn't be using the ìf elif statement that way, according to the structure of your program this should be looking something like : 你不应该使用ìf elif声明的方式,根据你的程序本应找类似的结构:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM