On 3/24/26 16:21, Joseph Myers wrote:
remote_exec is sometimes used with the name of an installed command plus its arguments, which means the 'rm -f $program' breaks in general. --- lib/ssh.exp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/lib/ssh.exp b/lib/ssh.exp index 26e9714..a126359 100644 --- a/lib/ssh.exp +++ b/lib/ssh.exp @@ -168,7 +168,7 @@ proc ssh_exec { boardname program pargs inp outp } { set inp "/dev/null" }- set ret [local_exec "$SSH $ssh_useropts $ssh_user$hostname sh -c '$program $pargs 2>&1 ; echo XYZ\\\${?}ZYX \\; rm -f $program'" $inp $outp $timeout]+ set ret [local_exec "$SSH $ssh_useropts $ssh_user$hostname sh -c '$program $pargs 2>&1 ; echo XYZ\\\${?}ZYX \\; '" $inp $outp $timeout] set status [lindex $ret 0] set output [lindex $ret 1]
Logically, this makes sense: ssh_exec did not transfer $program to the remote, so it should not be performing cleanup like that. However, the trailing semicolon also should be removed, so that the string ends with ZYX.
-- Jacob
