首先抱歉我的英语不好。其次,我正在创建一个克隆工具。我使用命令
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
。只需使用 运行两者之一,由您决定。您也不需要 ,因为您只想运行单个命令。只需直接使用 即可。sudo
sudo
sudo
sh -c
-x
因此,综合考虑所有这些,您要寻找的是:
sudo mate-terminal --geometry=50x10 -x dd if=/dev/sda of=/dev/sdb status=progress
重要的:对于阅读此问答的其他任何人,此命令很危险,因此不要在您的计算机上运行它。它会覆盖您的内容(/dev/sdb
如果有的话)。这是 OP 想要做的,但除非您知道自己在做什么,否则您不应该运行它。