gpt4 book ai didi

linux - 云服务器centos上的cpanel shell脚本没有这样的文件或目录

转载 作者:太空宇宙 更新时间:2023-11-04 12:23:45 24 4
gpt4 key购买 nike

我有一个 shell 脚本 copy_files.sh,我每天使用 cron 作业调用一次。

但是它从来没有工作过,我一直没有得到这样的文件或目录。

!#/bin/sh
for f in /home/site1/public_html/admin/data/*.csv
do
cp -v "$f" /home/site2/app/cron_jobs/data/"${f%.csv}".csv
done

我已经通过 ssh 检查所有路径是否正确 我已经使用 ls -l/bin/sh 验证了/bin/sh 的路径 我已经为 copy_files 设置了 perms 和 user 以及 root 用户组.sh 我禁用了 php open_basedir 保护。

shell 脚本在/home/site2/

为什么我仍然没有得到这样的文件或目录有什么想法吗?无论如何要检查 open_basedir 保护是否关闭说考虑到脚本由 root 拥有我不认为这是问题,除非它作为 site2 用户而不是 root 执行?

最佳答案

由于您使用 shell 扩展的方式,for 循环中的变量包含文件的绝对路径。拥有绝对路径意味着无需使用字符串操作 (%),也无需将“.csv”添加到文件名中,只需将其全部删除并提供要复制到的目录cp 的第二个参数,请参见下面的示例。

#!/bin/sh
对于/home/site1/public_html/admin/data/*.csv 中的 f;做
cp -v "$f"/home/site2/app/cron_jobs/data
完成

关于linux - 云服务器centos上的cpanel shell脚本没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45289331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com