在Linux shell bash脚本中复制文件时出错
我正在尝试在Linux中使用bashshell脚本将文件从一个位置(/home/ppaa/workspace/partial/medium)复制到另一个位置(/home/ppaa/workspace/complete) 这是我的代码:在Linux shell bash脚本中复制文件时出错,linux,bash,Linux,Bash,我正在尝试在Linux中使用bashshell脚本将文件从一个位置(/home/ppaa/workspace/partial/medium)复制到另一个位置(/home/ppaa/workspace/complete) 这是我的代码: #!/bin/bash -u MY_BASE_FOLDER='/home/ppaa/workspace/' MY_TARGET_FOLDER='/home/ppaa/workspace/complete/' cp $MY_BASE_FOLDER'partial/
#!/bin/bash -u
MY_BASE_FOLDER='/home/ppaa/workspace/'
MY_TARGET_FOLDER='/home/ppaa/workspace/complete/'
cp $MY_BASE_FOLDER'partial/medium/*.*' $MY_TARGET_FOLDER
return=$?
echo "return: $return"
文件夹已存在,文件已复制,但返回变量的值为1。怎么了?文件没有被复制
cp
很可能会给您带来如下错误:
cp: cannot stat ‘/home/ppaa/workspace/partial/medium/*.*’: No such file or directory
这是因为glob(如*.
)没有用引号展开。相反,请使用:
cp "$MY_BASE_FOLDER/partial/medium"/*.* "$MY_TARGET_FOLDER"
这些文件没有被复制
cp
很可能会给您带来如下错误:
cp: cannot stat ‘/home/ppaa/workspace/partial/medium/*.*’: No such file or directory
这是因为glob(如*.
)没有用引号展开。相反,请使用:
cp "$MY_BASE_FOLDER/partial/medium"/*.* "$MY_TARGET_FOLDER"
cp
成功时返回错误代码0,失败时返回错误代码1。我知道,但复制成功。我倾向于猜测复制没有(完全)成功<如果无法复制任何指定文件,则代码>cp将以非零状态退出。发生这种情况的原因有很多,但有一个合理的可能原因是您的源glob与一个或多个目录相匹配。非递归cp
将不会复制目录,如果请求,将以状态1退出。但是,它仍将复制它可以复制的文件。请同意上述内容。只是为了确认一点未提及的信息。。。是否报告了任何错误消息,即cp:none这样的消息:not found
。或者您是否正在将std err重定向到您没有显示给我们的某个地方?i、 e.。。。。2> /dev/null
。祝你好运。尝试运行“cp--verbose”?cp
成功时返回错误代码0,失败时返回错误代码1。我知道,但复制成功。我倾向于猜测复制没有(完全)成功<如果无法复制任何指定文件,则代码>cp将以非零状态退出。发生这种情况的原因有很多,但有一个合理的可能原因是您的源glob与一个或多个目录相匹配。非递归cp
将不会复制目录,如果请求,将以状态1退出。但是,它仍将复制它可以复制的文件。请同意上述内容。只是为了确认一点未提及的信息。。。是否报告了任何错误消息,即cp:none这样的消息:not found
。或者您是否正在将std err重定向到您没有显示给我们的某个地方?i、 e.。。。。2> /dev/null
。祝你好运。试过运行“cp--verbose”?