我試圖在運行腳本時通過腳本解碼密碼,但似乎腳本正在運行時使用文字並且密碼未處理。有沒有更好的方法來做到這一點?通過命令運行腳本
#!/bin/bash
MYENC="Tk9UX1RIQVRfU1RVUElEX0xPTAo="
rdesktop -u FOO -d mgmt -p 'echo $(echo $MYENC) | base64 --decode' 192.0.0.0
我也試過只是傳入一個變量,但也失敗了。
我試圖在運行腳本時通過腳本解碼密碼,但似乎腳本正在運行時使用文字並且密碼未處理。有沒有更好的方法來做到這一點?通過命令運行腳本
#!/bin/bash
MYENC="Tk9UX1RIQVRfU1RVUElEX0xPTAo="
rdesktop -u FOO -d mgmt -p 'echo $(echo $MYENC) | base64 --decode' 192.0.0.0
我也試過只是傳入一個變量,但也失敗了。
試試這個:
#!/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
或者這
#!/bin/bash
MYENC="Tk9UX1RIQVRfU1RVUElEX0xPTAo="
rdesktop -u FOO -d mgmt -p $(base64 --decode <<< "$MYENC") 192.0.0.0
它的工作!謝謝 !!!!! – 2014-10-20 02:23:15
推薦使用'$(...)'代替反向引號。 – 2014-10-20 04:17:31