2014-10-20 180 views
0

我试图在运行脚本时通过脚本解码密码,但似乎脚本正在运行时使用文字并且密码未处理。有没有更好的方法来做到这一点?通过命令运行脚本

#!/bin/bash 
MYENC="Tk9UX1RIQVRfU1RVUElEX0xPTAo=" 

rdesktop -u FOO -d mgmt -p 'echo $(echo $MYENC) | base64 --decode' 192.0.0.0 

我也试过只是传入一个变量,但也失败了。

回答

1

试试这个:

#!/bin/bash 
MYENC="Tk9UX1RIQVRfU1RVUElEX0xPTAo=" 

rdesktop -u FOO -d mgmt -p $(echo $MYENC | base64 --decode) 192.0.0.0 

请注意,我在$(...)包裹多汁的东西echo...base64...。这被称为“命令替换” - 基本上,你告诉bash,你希望$(...)内的代码在该行的其余部分之前执行,并将结果替换为它的位置。这里更多的信息:http://www.tldp.org/LDP/abs/html/commandsub.html

+0

它的工作!谢谢 !!!!! – 2014-10-20 02:23:15

+1

推荐使用'$(...)'代替反向引号。 – 2014-10-20 04:17:31

0

或者这

#!/bin/bash 
MYENC="Tk9UX1RIQVRfU1RVUElEX0xPTAo=" 
rdesktop -u FOO -d mgmt -p $(base64 --decode <<< "$MYENC") 192.0.0.0