启动新终端并运行命令

时间:2015-10-13 15:14:06

标签: python postgresql ubuntu

我正在编写一个管理员必须输入用户名和密码的应用程序。通过这样做,终端在ubuntu中启动并具有以下命令:

adduser admin
passwd admin
su - postgres
psql postgres
# run postgres ccommands ie grant all privileges with a password for the user

我不希望用户键入任何内容,因为表单提供了postgres的数据库名称以及postgres的用户名和密码......

用户输入的所有内容都是他的密码和管理员系统密码。

由于

1 个答案:

答案 0 :(得分:0)

如果您确实想要启动终端,则需要将命令列表传递给终端产生的shell。这种语法在某种程度上取决于所使用的终端。

对于您想要的gnome-terminal

gnome-terminal -e '... command ...'

e.g。

gnome-terminal -e 'sh -c "adduser admin && passwd admin && sudo -u postgres psql"'

我建议使用sudo而不是su,如上所示。

&&表示“只有前一个命令返回零(成功)才运行下一个命令”