Python在sud中调用bash脚本的子进程

2024-07-03 06:24:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在我的rPi上运行一个python脚本。我必须在sudo运行它才能使用零售物价指数库,但当我这样做时,它不会让我在非sudo中运行bash脚本。这会导致ssh命令提示输入密码,即使设置了keygen身份验证。在

我肯定我错过了一些简单的事情。有人能帮忙吗?在

运行python脚本:

sudo python ./runcam.py

在py脚本中,我运行的是:

^{pr2}$

以及我的ssh脚本:

#!/bin/bash

      FNAME=`date +'%H-%M-%S-%m%d%Y'`

      ssh pi@192.168.0.8 '
        mkdir $FNAME
      ' & 

      ssh pi@192.168.0.9 '
        mkdir $FNAME
      ' & 

Tags: py命令脚本bash身份验证密码pisudo
1条回答
网友
1楼 · 发布于 2024-07-03 06:24:02

您还可以使用sudo删除您的根权限。您只需要检查用户标识0和环境变量“SUDO\u user”,然后sudo -u "$SUDO_USER" command。在

可以在bash脚本中这样做:

# if we're root from sudo, run this script as the original user instead
[[ "$(id -u)" = "0" && -n "${SUDO_USER:-}" ]] && exec sudo -u "$SUDO_USER" "$0" "$@"

完整脚本示例:

^{pr2}$

不管你的脚本是否运行。在

相关问题 更多 >