【问题标题】:how to output success or failure of cp command to file如何将cp命令的成功或失败输出到文件
【发布时间】:2013-11-17 15:05:02
【问题描述】:

我将使用计划的 cron 作业运行包含 CP 命令的 shell 脚本。我想在脚本中包含一些内容以输出到日志文件,无论复制成功还是失败。

提前欣赏任何建议。

谢谢

【问题讨论】:

    标签: output cp logfile


    【解决方案1】:

    你可以查看cp的返回码。从 cp 手册页:

    EXIT STATUS
        The cp utility exits 0 on success, and >0 if an error occurs.
    

    最后一次操作的退出码存储在特殊变量$?中,所以你可以这样做:

    cp .. ..
    echo $? >> outputfile
    

    您很可能希望收到某种“自定义”错误消息。为此,您可以检查 $? 的值?

    cp .. ..
    if [ $? -ne 0 ]
    then
        echo "there was an error" >> outputfile
    fi
    

    我希望这能让你开始。

    【讨论】:

    • 当我尝试这个时,我得到的输出是..-bash: 0: command not found
    • 这行得通。谢谢你。如果我想要将 0 以外的自定义消息写入日志文件,我需要做什么?提前致谢。
    • 好吧,不要只是将退出代码打印到文件中,而是先用 if 进行检查。
    • 对不起,我真的很陌生。如果 [$? -eq 0]; echo '复制成功' >> my_file.txt。我收到一个语法错误:文件意外结束。
    • 我似乎无法正常工作。 rm -rf ../feeds/SetupID_162/TODAY/TODAY/* 如果 [ $? -ne 0 ] 然后 echo "复制成功" >> my_file fi 我得到错误 Macquarie.sh: line 5: syntax error near unexpected token fi' Macquarie.sh: line 5: fi'
    猜你喜欢
    • 2015-07-28
    • 1970-01-01
    • 2016-10-08
    • 2018-08-26
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多