gpt4 book ai didi

bash - 两个文件不同时的 Shellscript Action

转载 作者:行者123 更新时间:2023-11-29 08:45:06 26 4
gpt4 key购买 nike

我正在使用此命令将文件导入我的服务器:

scp zumodo@shold:/test/test/test/server.py /test/test/test/test.py~/;

如果新导入的文件 test.py~ 与已经存在的 test.py 不同,我想重新启动我的服务器。我将如何使用 shellscript 执行此操作?

最佳答案

if ! cmp -s test.py test.py~
then
# restart service
fi

分解:

  • cmp -s test.py test.py~ 如果 test.py 和 test.py~ 相同则返回真 (0),否则返回假 (1)。您可以在 man cmp 中看到这一点。 -s 选项使 cmp 静默,因此它不提供任何输出(错误除外),而仅提供退出代码。
  • ! 反转该结果,因此 if 语句转换为“如果 test.py 和 test.py~ 不同”。

ps:如果你不确定第二个文件是否存在,你可能也想检查一下。 (cmp 在这种情况下仍然有效,但会给出错误消息,抑制错误消息也可能就足够了 (cmp ... 2>/dev/null)

关于bash - 两个文件不同时的 Shellscript Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8139885/

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