- 论坛徽章:
- 0
|
本帖最后由 sosolitude 于 2013-03-29 15:43 编辑
待替换文件中- /usr/bin/snmpwalk -v __Version__ -r 3 -t 3 -c __CommUser__ -r 10 -Cc -O U -O 0 __IP__ system
复制代码 替换脚本中变量想把__CommUser__替换成 ny@ban&sn#mp
替换脚本中的替语句- perl -p -i -e "s/__CommUser__/'${comm}'/g"
复制代码 替换后结果- /usr/bin/snmpwalk -v __Version__ -r 3 -t 3 -c 'ny&sn#mp' -r 10 -Cc -O U -O 0 __IP__ system
复制代码 里边少了@ban 很奇怪!!
现在用sed替换- sed "s/__CommUser__/$comm/" d d是包含该字符串的文件名
复制代码 替换后结果- /usr/bin/snmpwalk -v __Version__ -r 3 -t 3 -c ny@ban__CommUser__sn#mp -r 10 -Cc -O U -O 0 __IP__ system
复制代码 还要再替换一次 把__CommUser__替换掉。
到底啥问题啊? 多谢指点
环境是
Linux ********-01 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi
|
|