密码我有运行有readeable密码作为参数一些命令bash脚本:庆典桑达:替换字符串
#/bin/bash
batch.sh --user=stefano --option=read-only --password=my_password_very_secret
batch.sh --password=password --user=dummy --option=abc
batch.sh --option=abc --user=dummy2 --password=whatever
batch.sh --user=dummy3 --password=12345
的batch.sh脚本执行一些动作和写入命令本身就是一个日志文件,它的输出。
在此日志中,我希望密码值将被“隐藏”(或“*********”)字符串覆盖。
我发现是下面的一个最快的,但可能不干净的解决方案......
Script: batch.sh
#!/bin/bash
echo "This is a log" > /path/to/log/file.txt
echo "[email protected]" | tr ' ' '\n' | sed 's|password=\(.*\)|password=********|' | tr '\n' ' ' >> /path/to/log/file.txt
echo "Completed" >> /path/to/log/file.txt
...但我几乎可以肯定,这不是最优雅的方式。 我还有什么不同的写法?
在日志文件中的预期输出创造应该是这样的
This is a log
batch.sh --user=stefano --option=read-only --password=********
batch.sh --password=******** --user=dummy --option=abc
batch.sh --option=abc --user=dummy2 --password=********
batch.sh --user=dummy3 --password=********
Completed
是的,我可以改变它! –