从脚本向 gnome-terminal 传递多个命令

从脚本向 gnome-terminal 传递多个命令

我的 bash 脚本不是在终端中运行的,而是在运行时打开一个终端来要求用户输入(sudo 密码)。我想在这个终端中告诉用户该脚本正在尝试做什么。首先,这是我的脚本:

#!/bin/bash
#This should install: Qt Linguist, lrelease

#for Qt Linguist
dpkg-query -l qt4-dev-tools
if echo $? == 0; then
 check1=1
fi

#for lrelease
dpkg-query -l qt4-default
if echo $? == 0; then
 check2=1
fi

echo $check1
echo $check2

if [ $check1 = 1 ] && [ $check2 = 1 ];then
 gnome-terminal -x sudo apt-get install qt4-dev-tools qt4-default
fi
$SHELL

这将打开一个终端,内容如下:

[sudo] password for "username": 

但我想要的是:

qt4-dev-tools and qt4-default are missing. Now trying to install.
[sudo] password for "username": 

如何使用 启动终端时获取该信息gnome-terminal -x

答案1

我以前也遇到过向 gnome-terminal 传递多个命令的问题。我最终使用了类似下面的命令:

gnome-terminal -x bash -c "echo \"qt4-dev-tools and qt4-default are missing. Now trying to install.\" && sudo apt-get install qt4-dev-tools qt4-default"

希望对你有帮助。

相关内容