remote_exec is sometimes used with the name of an installed command
plus its arguments, which means the 'rm -f $program' breaks in
general.
---
On Tue, 2 Jun 2026, Jacob Bachmeyer wrote:
> 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.
This version also removes the trailing semicolon.
---
lib/ssh.exp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/ssh.exp b/lib/ssh.exp
index b0f0696..0282bff 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]
--
2.54.0
--
Joseph S. Myers
[email protected]