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

use*_*975 4 command-line bash

我的 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
Run Code Online (Sandbox Code Playgroud)

这将打开一个终端:

[sudo] password for "username": 
Run Code Online (Sandbox Code Playgroud)

但我想要:

qt4-dev-tools and qt4-default are missing. Now trying to install.
[sudo] password for "username": 
Run Code Online (Sandbox Code Playgroud)

用 启动终端时如何得到这个gnome-terminal -x

Glu*_*ate 9

我以前也遇到过将多个命令传递给 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"
Run Code Online (Sandbox Code Playgroud)

希望对你有效。