Ubuntu plink发送长命令

Ubuntu plink发送长命令,ubuntu,echo,putty,plink,Ubuntu,Echo,Putty,Plink,我正在使用Putty通过串行接口进行通信,我想自动化两个命令。第一个是“sc”,另一个是“long_command”。之前我使用了以下命令: putty -load session_name 要快速打开Putty终端,我可以按预期编写“sc”或“long_命令”。要自动执行此操作,我使用plink命令: $ foo='sc\n\r' $ echo "${foo@E}" | plink -load session_name 但是,使用较长的命令时,该选项有效: $ foo='long_com

我正在使用Putty通过串行接口进行通信,我想自动化两个命令。第一个是“sc”,另一个是“long_command”。之前我使用了以下命令:

putty -load session_name
要快速打开Putty终端,我可以按预期编写“sc”或“long_命令”。要自动执行此操作,我使用plink命令:

$ foo='sc\n\r'
$ echo "${foo@E}" | plink -load session_name 
但是,使用较长的命令时,该选项有效:

$ foo='long_command\n\r'
$ echo "${foo@E}" | plink -load session_name 
打印输出为:“long\u comlong\u co

为了克服这个问题,我创建了脚本long_command.sh:

comm1='swup'
comm2='date'
comm3='\n\r' 
echo "${comm1@E}" | plink -load hydac& 
echo "${comm2@E}" | plink -load hydac&  
echo "${comm3@E}" | plink -load hydac& 
; 
并运行它

$ ./long_command.sh
它可以工作,但看起来很糟糕,如果我使用以下命令:

foo='long_command\n\r'
echo "${foo@E}"
它很好地打印带有换行符的long_命令,因此。。。 如何向plink发送更长的命令?


我在Ubuntu上,有GNOME终端,所以如果你有任何其他魔法功能,比如screen或类似的,你认为更好的,我会洗耳恭听。

什么是
@E
?“使用
echo”可以得到什么${foo@E}“| cat
?我以前遇到过一个问题,换行符添加不正确,在另一个问题上找到了这个答案:如果我与cat一起使用,我也会得到:long_命令