sudo whoami vs sudo echo`whoami`

lde*_*blo 1 shell scripting ubuntu sudo

简而言之,这是为什么?sudo echo也whoami返回root 会更有意义吗?

干杯

me:~$ whoami
me
me:~$ sudo whoami 
root
me:~$ sudo echo `whoami`
me
Run Code Online (Sandbox Code Playgroud)

And*_*kyy 5

发生这种情况是因为whoami在sudo和echo之前先被替换。基本上:

sudo echo `whoami`
Run Code Online (Sandbox Code Playgroud)

首先成为

sudo echo me
Run Code Online (Sandbox Code Playgroud)

然后它须藤得​​到执行。