exec -- sftp user@127.0.0.1 {<<
get $filename
quit}
我如何替换$ filename?
答案 0 :(得分:4)
要获取变量替换,请使用双引号而不是大括号。标准Tcl规则,虽然在这种情况下你可能会感到惊讶。 (我建议将<<
外部作为自己的参数,因为我认为这样更清楚。)
exec -- sftp user@127.0.0.1 << "
get $filename
quit"
您也可以使用subst
命令。有时候更清楚;它在很大程度上是相同的(除了一些非常精细的细节,除非你做大型的模板文件,否则不要太重要)。
exec -- sftp user@127.0.0.1 << [subst {
get $filename
quit
}]