sudo:命令未找到

Bra*_*ell 4 linux ubuntu sudo gnu-screen

我正在尝试以screen另一个用户身份执行sudo.

我正在使用命令:

echo 'userpassword' | /usr/bin/sudo -u 'myuser' -S '/usr/bin/screen -ls'
Run Code Online (Sandbox Code Playgroud)

在互联网上找到的任何帮助都说明了sudo清除环境变量(比如PATH).所以我决定使用应用程序的完整路径,但我仍然得到命令not found错误.

错误:

sudo: /usr/bin/screen -ls: command not found
Run Code Online (Sandbox Code Playgroud)

Sudo安装在系统上.屏幕安装在系统上.

因为sudo,我已经尝试了-E和-H旗帜,但它没有帮助.

我试着PATH用这样的东西设置变量:

... | /usr/bin/sudo -u 'myuser' -S 'env PATH=$PATH; /usr/bin/screen -ls'
Run Code Online (Sandbox Code Playgroud)

据说$PATH假设在命令执行之前扩展但我得到了其他错误......

有人可以提供一个命令,让我可以作为另一个用户执行命令,并解释命令的每个部分的作用,以便我能理解它吗?

谢谢.

Sie*_*ena 8

尝试,

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

可能在尝试设置新路径变量时替换了路径变量.

继续前进,在添加新的路径变量之前"回显$ PATH".