help!linux的shell脚本解决一个小问题,已经被困扰太多天了!!

初学者,第一次写shell脚本
要实现的功能是,在一个终端发送信息,开另一个终端去接收内容,我想写一个脚本来完成测试,不用每次都手动操作

但问题是接收窗口会一直接收发送窗口的信息,就像这样:

img

img

我手动操作的时候ctrl+z,就把接收窗口挂起中止了,但是脚本里用什么命令让那个接收窗口挂起呀??网上找了好几天都没找到

不可以直接杀掉这个接收的进程,那样接收和发送的字符数不一致,我也不知道为什么😭

# 新开窗口接收S0的信息,等‘0000’发送给S0之后一段时间,再把cat命令挂起
# 后面还要测试S1,S2等等,脚本实现自动测试 

gnome-terminal -- bash -c "cat /dev/ttyS0"   # 接收窗口执行cat命令
echo "0000" > /dev/ttyS0   # 发送窗口发送内容后,ctrl+z手动挂起cat命令
cat /proc/tty/driver/serial  #查看收发情况

命令后面加 &可以让其在后台运行 那你就不会卡住了

gnome-terminal -- bash -c "cat /dev/ttyS0" &
cat /proc/tty/driver/serial &

有人吗有人吗,有没有摸鱼的大佬,抽空解答一下吧~

fg命令用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。

bg命令用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号&的效果是相同的,都是将其放到系统后台执行。