【发布时间】:2017-11-17 20:49:48
【问题描述】:
我正在尝试使用 sed 命令在 shell 脚本文件中注释 if 语句。
代码sn-p:
if[$z='LZ'||$x='LW']
then
echo "This my test for sed and I am successful"
else
echo "This my test for sed and my try failed"
fi
我用过
**sed -i -e 's\if\#if\g' test.sh**
它有效,但如果我给出以下命令:
**sed -i -e "s\if[$z='LZ'||$x='LW']\#if[$z='LZ'||$x='LW']\g" test.sh**
没用
如果您需要更多数据,请告诉我。 提前致谢。
【问题讨论】:
-
你想做什么...如果你注释掉 if,什么匹配 else 和 fi?这没有意义。您最好说明您要解决的问题。
-
@HuStmpHrrr 目前我正在尝试仅评论这一行并添加另一行,好像是假的
-
不,这不是你想要做的......如果你想拥有 if 分支进行测试或任何原因,你应该通过变量控制它,并将该变量默认设置为 false。类似于 $DEBUG_OPT$。如果你有很多这样的,你应该考虑使用函数。
-
在将其发布到此处的问题中之前,请考虑通过 shellcheck.net 运行您的 shell 脚本。虽然您的问题是关于如何使用 sed 匹配各种问题,但您的源文本是无法运行的损坏脚本这一事实可能会分散注意力。