我的 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"
希望对你有帮助。