为什么sed命令包含符号

前端之家收集整理的这篇文章主要介绍了为什么sed命令包含符号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不明白为什么以下sed命令包含@符号:
  1. sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd

我看了/etc/pam.d/sshd这个命令的前/后效果

之前:

  1. ...
  2. # Set the loginuid process attribute.
  3. session required pam_loginuid.so
  4. ...

后:

  1. ...
  2. # Set the loginuid process attribute.
  3. session optional pam_loginuid.so
  4. ....

@符号可能是正则表达式或sed语法的一部分吗?
在这上面找不到任何doco.

注意:上面的sed命令实际上是教程中Dockerfile RUN命令的一部分:
https://docs.docker.com/examples/running_ssh_service/

解决方法

这些是正则表达式和替换字符串的备用分隔符.当你的正则表达式或替换字符串包含’/’时很方便.

猜你在找的Linux相关文章