gpt4 book ai didi

linux - 带有 sed 返回错误的 cronjob

转载 作者:太空宇宙 更新时间:2023-11-04 11:01:38 25 4
gpt4 key购买 nike

我使用 php 生成自定义脚本,然后每隔几分钟调用一次。

它是这样的:

grep -rl 'text1' ./ | xargs sed -i 's/text1/text'"$1"'/g'

当我以 root 身份(手动)运行它时,它运行良好,但是当通过 crontab 运行时,我收到此错误:

sed: -e expression #1, char 44: unterminated `s' command
./b.sh: 5: ./b.sh: [[: not found

如何解决?

最佳答案

第一次...所以嗨

这个错误sed: -e expression #1, char 44: unterminateds' command`暗示“s”包含导致 sed 以不同方式解释命令的特殊字符。

这是由于 bash 将变量作为传递给 sed 的命令的一部分插入,如果它有任何特殊字符,它会更改输出。我猜“s”与环境变量有关,因为它手动工作正常但在 crontab 中不行。

我不熟悉 sed,但您可能需要通过在 $FOO 变量前面加上反斜杠\来转义您的 $FOO 变量,如果这不起作用,则可能需要 awk。

有关如何使用 sed/awk 的示例,请参阅引用资料。

引用:https://unix.stackexchange.com/questions/75310/why-is-sed-giving-me-an-error-about-an-unterminated-s

关于linux - 带有 sed 返回错误的 cronjob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26820326/

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