我正在尝试为cups创建一个Docker镜像,我想要执行的其中一个步骤是注释掉"Listen"指令.示例构建的此输出演示了此问题:
Step 8 : RUN sed "s/^Listen /#Listen /" /etc/cups/cupsd.conf | grep Listen
---> Running in 6b9dfeeaec7a
#Listen localhost:631
#Listen /var/run/cups/cups.sock
---> 1737a534589d
Step 9 : RUN sed -i "s/^Listen /#Listen /" /etc/cups/cupsd.conf
---> Running in aacd768eb94c
---> dbe12c2073ef
Step 10 : RUN grep "Listen" /etc/cups/cupsd.conf
---> Running in 650b27ecf7c4
Listen localhost:631
Listen /var/run/cups/cups.sock
---> bf03b9f5de35
Successfully built bf03b9f5de35
Run Code Online (Sandbox Code Playgroud)
为什么对它的第一次调用sed得到管道才能grep完美地工作,但是带有-i标志的第二次调用没有做出任何改变?
如果我以交互方式运行容器(docker run -it cups sh)并复制并粘贴命令(sed -i "s/^Listen /#Listen /" /etc/cups/cupsd.conf),则按预期进行更改. …
我的团队想更新我们的SQL Server datetime列(具有奇怪的舍入规则的3位数精度)以datetime27位数精度使用。
是否存在任何众所周知的极端情况,在这种情况下此类更改会引起问题或需要修改使用这些日期的业务逻辑?
我们使用Java,因此任何低级解释都将由驱动程序jar处理。我只是想不出一种情况,那就是提高精度会是一件坏事(存储空间不是问题),但是这些变化使某些人感到紧张,如果每次修复一个bug都花了我一美元,我没想到我会变得富有。
[编辑添加:我们还将更新所有要使用的存储过程,datetime2而不是更新所有datetime变量和临时表,因此您不会例如使用创建的临时表datetime来存储datetime2值]。