我正在编写一个shell脚本来创建一些配置文件.我必须替换文件中的一些模式,并且应该用路径替换一个模式.
所以我的问题是:有没有办法用路径替换我的占位符webpath而不在斜杠前面设置反斜杠?
也许有另一种工具可以做到这一点?
我不明白为什么以下sed命令包含@符号:
sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
Run Code Online (Sandbox Code Playgroud)
我看了/etc/pam.d/sshd这个命令的前/后效果:
之前:
...
# Set the loginuid process attribute.
session required pam_loginuid.so
...
Run Code Online (Sandbox Code Playgroud)
后:
...
# Set the loginuid process attribute.
session optional pam_loginuid.so
....
Run Code Online (Sandbox Code Playgroud)
@符号可能是正则表达式或sed语法的一部分吗?在这上面找不到任何doco.
注意:上面的sed命令实际上是教程中Dockerfile RUN命令的一部分:https://docs.docker.com/examples/running_ssh_service/
sed ×2