Linux shell脚本中sudo自动添加密码

在Linux应用开发中,如果需要在程序中无密码sudo执行脚本进行文件复制等操作,可以使用`echo 密码|sudo -S 要执行的操作`的格式。博主提供了一个示例脚本`copy-file.sh`,其中包含了多个这样的命令,通过Qt的QProcess调用来执行。这种方法实测成功,避免了用户交互输入密码的需求。
摘要由CSDN通过智能技术生成

Linux应用开发,有个需求是需要在程序中运行一个脚本执行一些需要sudo执行的操作,比如复制文件到系统目录,那么就不能让用户输入密码,而是把密码固定放在脚本文件中让sudo操作使用。

经过大半天的研究和查询,找到了方法:

格式:

echo "密码" | sudo -S 要执行的操作

脚本文件:

copy-file.sh

echo "123abc" | sudo -S cp /home/zhouyingge1104/Desktop/temp/Atest.txt /usr/lib/modules/5.15.0-48-generic/kernel/Atest.txt
echo "123abc" | sudo -S cp /home/zhouyingge1104/Desktop/temp/NAV_1.xlsx /usr/lib/modules/5.15.0-48-generic/kernel/NAV_1.xlsx
echo "123abc" | sudo -S cp /home/zhouyingge1104/Desktop/temp/串口赋权步骤.docx /usr/lib/modules/5.15.0-48-generic/kernel/串口赋权步骤.docx

Qt调用:

QProcess p;
p.start("bash /home/zhouyingge1104/Desktop/temp/copy-file.sh");
p.waitForFinished();

实测成功。

参考:TWpower's Tech Blog

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹰信息技术服务部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值