У меня есть скрипт, который анализирует локальный файл и удаленно выполняет новый файл, созданный с содержимым предыдущего.
Just an example: machine1 with the following command file content:
#cmd1
<blank line here>
#cmd5
hostname -f
reboot`
Теперь скрипт проанализирует этот файл, удалит пробелы и закомментированные строки и УДАЛЕННО создаст новый файл с новым содержимым:
proc _command {fh} {
set fd [open "$fh" r]
#set fp [open "/tmp/script_${fh}" w+]
while { [gets $fd data] >= 0 } {
if { [string length $data] > 0 } {
#skip commented & blank lines
if {[string match "#*" $data] || [string match "" $data]} {
continue
}
#puts $fp "$data"
send "$data\r"
#send [exec echo $data >>/tmp/1.txt]
}
}
#close $fp
}
...
spawn -noecho ssh -i $home/.ssh/.id_rsa -q -o StrictHostKeyChecking=no $user@$server
expect {
-re "($prompt)" {
send "sudo su -\r"
expect {
-re "# " {
_command $cfile
send "exit\r"
Что ж, сейчас часть процедуры, которая пишет в файл, комментируется, так как каждый раз, когда я выполняю скрипт, файл создается локально, а не на удаленной машине.
Я скучаю по этому, но не могу понять, что ...