2017-02-17 7 views
-1

私は.shファイルと.expファイルを持っていますが、両方とも変数値を持つ他のテキストファイルのソースを持っています。 .shファイルを実行すると、.expファイルが実行されますが、その行に到達すると、ソースファイルから値を正しく読み取ることができないように見えます。私はそれを正しかったかどうか疑問に思っていた。期待値ファイルのテキストファイルのソースが機能しません

.SHファイル

#!/bin/bash 
source ../common/labinfo/qcow_var.txt 

cd $WORKSPACE/qcow_vnf 

echo -e "** Starting qcow_vnf Installation **\n** Checking the connectivity  to Host-1...**\n" 
../common/isup_addr.sh "$HOSTIP_1" 1 
if [ $? -ne 0 ] 
then 
exit 1 
fi 

echo -e "** Checking the connectivity to Host-2...**\n" 
../common/isup_addr.sh "$HOSTIP_2" 1 
if [ $? -ne 0 ] 
then 
exit 1 
fi 

create_vm.exp "$HOSTIP_1" "$HOSTUSER" "$HOSTPASS" "$VMNAME_1" 

.EXPファイル

#!/opt/tools/unsupported/expect-5.39/bin/expect 
source ../common/labinfo/qcow_var.txt 

set HOST [ lindex $argv 0 ] 
set USER [ lindex $argv 1 ] 
set PASSWORD [ lindex $argv 2 ] 
set VMNAME [ lindex $argv 3 ] 

echo -e "** Creation of $VMNAME on $HOST begins... **\n" 
spawn ssh -l $USER $HOST 
expect_after eof {exit 0} 
set timeout 10 

expect "(yes/no)?" { send "yes\r" } 
expect "password:" { send "$PASSWORD\r" } 

expect "~]#" { send "date\r" } 
set timeout 1200 
......(etc) 

そして、私は私の質問を掲示した後、私が見つけた

HOSTIP_1=172.28.152.240 
HOSTIP_2=172.28.152.241 
HOSTUSER="root" 
....(and the rest of the variables) 
+0

expectはTclの拡張であり、Tclは 'variable = value'構文を使用しません。シェル構文をTclに変換するコードを解析せずに、両方の言語(シェルと期待)に同じ設定ファイルを使用することはできません。 –

答えて

0

.txtファイル。私はこれにはかなり新しいです。問題は、ソースが期待通りに動作しないということです。私も間違っていると予想してエコーを使用します。私は自分の問題を修正し、今はうまくいっています。

関連する問題