吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 674|回复: 8
收起左侧

[求助] shell脚本执行疑问

[复制链接]
wuqingvika 发表于 2023-8-1 14:32


友友们 我发现我这段代码感觉来不及执行完 就走后面的操作了 ,比如我文件拷贝还没拷完就执行完了。而且删除操作也不是完全执行的。。。就很奇怪  有知道的吗
一般sh文件怎么能让它顺序同步可靠点的执行完。。。
[Shell] 纯文本查看 复制代码
rm -rf "$dealpath/*"

cp -r "$dockerpath"    "$dealpath"
# rm -rf /wqdata/hhtest/hhtestwebzsuijardocker/appzs/*
# cp -r /wqdata/jenkinsagent/workspace/hhtestweb/docker  /wqdata/hhtest/hhtestwebzsuijardocker/appzs
# cp  /wqdata/jenkinsagent/workspace/hhtestweb/ruoyi-admin/target/ruoyi-admin.jar  /wqdata/hhtest/hhtestwebzsuijardocker/appzs/docker/hhtestadmin
# cp -r  /wqdata/jenkinsagent/workspace/hhtestweb/ruoyi-ui/dist /wqdata/jenkinsagent/workspace/hhtestweb/ruoyi-ui/default.conf /wqdata/hhtest/hhtestwebzsuijardocker/appzs/docker/hhtestvue
cp "$hhtestadminjarpath" "$dealpath/docker/hhtestadmin"
cp -r "$hhtestvuepath"  "$ruoyiuipath/default.conf" "$dealpath/docker/hhtestvue"


##后面继续 操作发现拷贝没全

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

rwj1990 发表于 2023-8-1 14:37
# 使用 -v 选项显示拷贝进度并确保拷贝完成
cp -rv "$dockerpath" "$dealpath"

# 使用 wait 命令等待前面的 cp 命令执行完毕
wait
hewuliu 发表于 2023-8-1 15:05
rm -rf "$dealpath"
sync
cp -r "$dockerpath" "$dealpath"
sync
cp "$hhtestadminjarpath" "$dealpath/docker/hhtestadmin"
sync
cp -r "$hhtestvuepath" "$ruoyiuipath/default.conf" "$dealpath/docker/hhtestvue"
sync

你在每个命令后面都加一个sync命令试试?用多线程试试怎么样
若雪 发表于 2023-8-1 15:10
用&&:
cp "$hhtestadminjarpath" "$dealpath/docker/hhtestadmin" && cp -r "$hhtestvuepath"  "$ruoyiuipath/default.conf" "$dealpath/docker/hhtestvue"
KirchoffNZ 发表于 2023-8-1 15:23
加一个等待时间应该能行吧
zmh886 发表于 2023-8-1 15:37
这段代码的功能如下:

rm -rf "$dealpath/*":删除 $dealpath 目录下的所有文件和子目录。rm -rf 命令用于递归删除目录及其内容,包括子目录和文件。$dealpath 是一个变量,表示要删除的目录路径。
cp -r "$dockerpath" "$dealpath":将 $dockerpath 目录及其内容复制到 $dealpath 目录下。cp -r 命令用于递归复制目录及其内容,包括子目录和文件。$dockerpath 和 $dealpath 都是变量,表示源目录和目标目录的路径。
# rm -rf /wqdata/hhtest/hhtestwebzsuijardocker/appzs/*:这行代码被注释掉了(以 # 开头),所以它不会被执行。它与第一行的功能相同,会删除指定路径下的文件和子目录。
# cp -r /wqdata/jenkinsagent/workspace/hhtestweb/docker /wqdata/hhtest/hhtestwebzsuijardocker/appzs:这行代码也被注释掉了,不会执行。它将会递归复制指定路径的目录及其内容,包括子目录和文件。

免费评分

参与人数 1吾爱币 -1 收起 理由
luliucheng -1 禁止使用ChatGPT或其他AI生成的答案解答问题!

查看全部评分

meizhonghao 发表于 2023-8-1 15:41
每一步都用重定向>打印出日志,cp不打印的可以加-v参数,重点是加注释一步步看,排查是哪一步没执行成功
lcg2014 发表于 2023-8-1 17:54
向各位大神学习
myforaward 发表于 2023-8-1 18:07
你这代码看起来没问题,如果没有完全删除,那应该是用户权限问题。
手动一行行执行看看报错信息
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 19:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表