首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >-bash: ifconfig:使用“`su redbox -c‘ifconfig”时找不到的命令

-bash: ifconfig:使用“`su redbox -c‘ifconfig”时找不到的命令
EN

Unix & Linux用户
提问于 2019-12-18 13:49:46
回答 1查看 1.1K关注 0票数 0

我是以root用户身份登录的,需要在不切换的情况下从redbox用户执行一个命令。为此,我使用以下命令:

# su - redbox -c 'CMD'

当我尝试执行"ifconfig“(su - redbox -c 'ifconfig')时,会得到以下错误:

-bash: ifconfig:命令找不到

但是,如果我先切换到redbox,然后执行"ifconfig“,如下所示,它可以工作:

# su - redbox $ ifconfig

对于更多的命令来说,也存在同样的问题。我不明白是什么导致了这个问题。请帮我弄清楚。

我正在使用AlpinLinuxv3.9.4

<#>更新:

感谢Jeff共享的链接,我现在看到了这个问题。使用su - redbox - c 'ifconfig'时,$PATH的值与使用su - redbox后接ifconfig时的值不同。

有人能解释为什么$PATH在这两种情况下是不同的吗?请注意,在这两种情况下,我都使用了-,它使用登录shell。

EN

回答 1

Unix & Linux用户

发布于 2019-12-18 17:34:52

man sudoerssudo在它执行的命令上强制执行它的$PATH思想。

代码语言:javascript
复制
sudo -u redbox -c $( type -p ifconfig) 

使用您的$PATH

代码语言:javascript
复制
sudo -u redbox /usr/sbin/ifconfig
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/557871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档