dd 命令完成后退出终端

dd 命令完成后退出终端

首先抱歉我的英语不好。其次,我正在创建一个克隆工具。我使用命令

sudo mate-terminal --geometry=50x10 -x sh -c "sudo dd if=/dev/sda of=/dev/sdb status=progress; bash"

我使用此命令,以便当用户使用上述命令单击克隆按钮链接时,用户可以看到克隆的进度,该进度显示剩余时间的某种日志以及新终端上每秒的传输量,就像这张图片中显示的那样。

现在的问题是,我使用触摸屏设备创建此工具,克隆完成后,终端不会自动退出。用户需要单击“x”按钮才能关闭终端,这将是一个问题,因为我使用的是 3.5 英寸触摸屏显示器,在小触摸屏上单击“x”按钮可能非常困难。克隆过程完成后,它会在终端上显示此信息

我已经尝试过了

exec ./clone.sh

./clone.sh && exit

./clone; exit

但全都失败了。

供您参考,该命令链接到一个按钮,所以我的命令是这样的

(action)./clone.sh && exit(/action)

谁能帮我 ?

答案1

终端保持打开状态的原因是您正在告诉它运行命令dd,然后启动一个新的 bash 实例。如果您bash从命令末尾删除,生成的终端将如您所料消失。

此外,如果您已经使用 运行终端,则无需使用 运行dd。只需使用 运行两者之一,由您决定。您也不需要 ,因为您只想运行单个命令。只需直接使用 即可。sudosudosudosh -c-x

因此,综合考虑所有这些,您要寻找的是:

sudo mate-terminal --geometry=50x10 -x dd if=/dev/sda of=/dev/sdb status=progress

重要的:对于阅读此问答的其他任何人,此命令很危险,因此不要在您的计算机上运行它。它会覆盖您的内容(/dev/sdb如果有的话)。这是 OP 想要做的,但除非您知道自己在做什么,否则您不应该运行它。

相关内容