我在 bash 脚本中使用了 perl oneliner,
为了从脚本中删除密码(因为安全问题,当我们想从脚本中删除密码时,这是一个不错的解决方案)
问题是当我运行bash脚本时,perl一行删除了他的行,
后面的单词:export PASSORD=
请告知需要在 perl one liner 行中更新哪些内容才能忽略删除 perl 行中的单词?
备注 - 导出...行不在行的开头
我的脚本中的 perl 一行:
perl -i -pe 's/(?<=export PASSORD=).*//' /tmp/script.bash
运行脚本之前的脚本
more /tmp/script.bash
#!/bin/bash
export LOGIN=root
export PASSORD=JH&*(@%VTVTB
/var/cti/download_password.ksh $PASSORD $LOGIN
perl -i -pe 's/(?<=export PASSORD=).*//' /tmp/script.bash
运行后的脚本
more /tmp/script.bash
#!/bin/bash
export LOGIN=root
export PASSORD=
/var/cti/download_password.ksh $PASSORD $LOGIN
perl -i -pe 's/(?<=export PASSORD=
最佳答案
您可以通过[ ]
匹配空格以避免匹配特定行,
perl -i -pe 's/(?<=export[ ]PASSORD=).*//' /tmp/script.bash
关于linux - perl oneliner + 通过 perl oneliner 行从脚本中删除密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145542/