我正在编写一个管理员必须输入用户名和密码的应用程序。通过这样做,终端在ubuntu中启动并具有以下命令:
adduser admin
passwd admin
su - postgres
psql postgres
# run postgres ccommands ie grant all privileges with a password for the user
我不希望用户键入任何内容,因为表单提供了postgres的数据库名称以及postgres的用户名和密码......
用户输入的所有内容都是他的密码和管理员系统密码。
由于
答案 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
,如上所示。
&&
表示“只有前一个命令返回零(成功)才运行下一个命令”