ai didi

linux - 在值中存储 grep 时的额外反斜杠

转载 作者:太空宇宙 更新时间:2023-11-04 09:31:20 24 4
gpt4 key购买 nike

在我的 bash 脚本中:

Check="grep -e '"'\(-S mount\)'"' /etc/audit/audit.rules"
set -x

当你运行它时,它显示为:

CHECK='grep -e '\''\(-S mount\)'\'' /etc/audit/audit.rules'

现在它完全符合我的要求,但我想了解它。为什么有 2 个额外的\?

最佳答案

set -x 的输出使用单引号。因此,外部双引号被单引号替换,但您无法在单引号字符串中转义单引号,因此当它随后替换所需的内部双引号时,将它们替换为 '\'' 结束单引号字符串,然后有一个转义单引号,然后开始下一个单引号字符串。

另外,顺便说一句,不要将命令存储在字符串中。只会让你以后痛苦。参见 Bash FAQ 050有关更多信息。

关于linux - 在值中存储 grep 时的额外反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31006275/

24 4 0
文章推荐: java - 尽管在 Postman 上工作,但在 Spring 中出现 UnknownHostException
文章推荐: python - 如何为方法创建装饰器
文章推荐: java - Scala 编译错误 Vert.x 响应 future
文章推荐: python - 如何使用分组计算更新 pandas 数据帧?
太空宇宙
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com