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