通过命令运行脚本

时间:2014-10-20 01:59:29

标签: bash shell security unix

我尝试在运行时通过脚本解码我的密码,但似乎脚本是使用文字运行的,并且密码未被处理。有没有更好的方法呢?

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

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

我也尝试传入一个变量,但也失败了。

2 个答案:

答案 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

答案 1 :(得分:0)

或者这个

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