“ sudo:来源:找不到命令”

提姆
$ source /etc/environment 

$ sudo source /etc/environment 
[sudo] password for t: 
sudo: source: command not found

似乎与bash要执行的外壳不同source /etc/environment并且外壳没有source内置的外壳

但是my和root的默认shell都是bash

$ echo $SHELL
/bin/bash

如果sudo确实使用了不同的外壳,为什么呢?我看到了slm的回复,但对我的情况不了解。

迈奥

source是内置的Shell,因此没有Shell便无法执行。但是,默认情况下,sudo不要运行shell。sudo

工艺模型

sudo运行命令时,它将调用fork(2),如上所述设置执行环境,并在子进程中调用execve系统调用

如果要显式执行shell,请使用-s选项:

# sudo -s source /etc/environment

这仍然没有用,因为退出shell后,环境更改丢失了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章