LINUX.ORG.RU

как убрать записывание переноса каретки в перемененную в expect?

 


0

1

есть вот такой вот код, и он записывает в переменную с переносом каретки,
то есть дальше с ней работать вообще никак нельзя

помогите гуру что с этим делать или как пофиксить,
гугл не знает

#!/usr/local/bin/expect -f

set timeout 30
puts «enter the path to output folder»
while 1 {
expect {
«*\n» {
set outdir $expect_out(buffer)
break
} timeout {
puts «warning: timed out»
set outdir $DEFAULT_OUT
break
}
}
}

использовать регулярные выражения (то есть откусывать от строки нужные части) :

set timeout 30
puts "enter the path to output folder"
while 1 {
	expect {
		-re "(.*)\n" {
			set outdir $expect_out(1,string)
			puts -nonewline $outdir
			puts "*"
			break
		} timeout {
			puts "warning: timed out"
			set outdir $DEFAULT_OUT
			break
		}
	}
}

также см. man regex, man re_syntax

MKuznetsov ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.