读取.properties文件以设置Expect shell脚本中的使用值和密码字段

问题描述:

如何从shell中的用户和密码字段的属性文件中读取值?读取.properties文件以设置Expect shell脚本中的使用值和密码字段

假设,如果我有具有类似于下面的值values.prop文件,

user=abcd 
pwd=xxxx 

我想设置我test.sh上面的值,如下

!/usr/bin/expect 
set user "abcd" 
set password "xxxx" 
spawn ssh [email protected]$host 
expect "[email protected]$hosts's password:" 
send "$password\n" 

如果你可以修改那么最简单的方法就是使用source functionality of tcl(期望脚本实际上是tcl脚本)。

!/usr/bin/expect 
source values.prop 
spawn ssh [email protected]$host 
expect "[email protected]$hosts's password:" 
send "$password\n" 

随着values.prop现在看起来像这样:

set user "abcd" 
set password "xxxx" 

这里是粗shell脚本,它可以自动翻译属性文件到TCL文件

#!/bin/sh 
. "$1" 
printf 'set user "%s"\n' "$user" 
printf 'set password "%s"\n' "$password" 

使用像这个:

translate ./values.prop > values.prop.tcl 

然后source values.prop.tcl在你期望的脚本中。

+0

感谢Lesmana!..它的工作很好...但我试过没有翻译粗糙的外壳,它工作正常..只需命令源是需要读取文件内容设置用户“abcd” 设置密码“xxxx “期待。 – 2015-02-11 17:49:33