我不在乎这是否不安全,因为我只是把它作为一项编程练习,但这就是我想要做的:
我想创建一个 C 程序,使用“system”命令调用 dpkg 并安装一些 .deb 文件。
但是,我希望它使用类似 gksu 的东西在命令行环境之外询问密码。
因此,基本上,我将双击我的程序,它将为我完成:
- 检查 .deb 文件是否存在
- 如果没有,则使用通知发送通知用户文件丢失
- 如果它们都存在,则调用“gksu dpkg”来安装软件包,并使用notify-send来告知软件包何时安装。
我该怎么做?
答案1
我不会使用gksu
它进行命令行/终端操作,gksu
是一个“su 和 sudo 的 GTK+ 前端”,为什么不直接使用sudo
呢?
Bash 脚本可以在命令行上轻松运行。man bash
有关信息,请参阅
测试:测试 [expr]
评估条件表达式。
-e FILE 如果文件存在则为真。
-f FILE 如果文件存在并且是常规文件则为真。
所以
#!/bin/bash
if test -f somefile.deb
then
sudo dpkg -i somedebfile
else
notify-send "somefile.deb is missing"
fi