如何在ksh中隐藏变量的已解析值?

时间:2017-03-13 19:00:43

标签: shell unix

我目前遇到的情况是我需要隐藏变量的已解析值,即当代码在调试模式下运行时,该值不应出现,即ksh -x。

我已经看到了类似问题的其他线程但是,在读取-s选项的帮助下,从STDIN读取值时提供了一种方法。但我不必从STDIN读取值。

请帮助我。

谢谢, 阿米特

1 个答案:

答案 0 :(得分:0)

当要隐藏的字段是唯一的(类似强密码)时,您可以创建一个更改脚本输出的包装器。 您应该只关注变量中的特殊字符,例如斜杠。尝试像

这样的东西
mycode.sh 2>&1 | sed "s/${myvar}/xxxxxxxx/g"

当你仅在几个地方使用变量时,一个很好的选择是测试你正在运行的模式,并在使用变量之前关闭调试模式(稍后打开一行)。