Linux 奇怪的rpm——eval命令
有人能帮我理解运行以下命令的目的吗?它有什么作用Linux 奇怪的rpm——eval命令,linux,rpm,Linux,Rpm,有人能帮我理解运行以下命令的目的吗?它有什么作用 $ sudo rpm --eval "%(/bin/bash >&2)" 曼恩说: -eval='EXPR' Prints macro expansion of EXPR. 我尝试了这个命令,它只将用户转移到root,还更改了当前 user1的主目录的目录?我们为什么要在这样的环境下这样做 神秘的方式 [user1@localhost ~]$ sudo rpm --eval "%(/bin/bash >&
$ sudo rpm --eval "%(/bin/bash >&2)"
曼恩说:
-eval='EXPR'
Prints macro expansion of EXPR.
我尝试了这个命令,它只将用户转移到root,还更改了当前
user1的主目录的目录?我们为什么要在这样的环境下这样做
神秘的方式
[user1@localhost ~]$ sudo rpm --eval "%(/bin/bash >&2)"
root @ localhost : /home/user1 $
发件人:
除了“%{…}”表单外,还可以使用
“%shell命令”。“%…”的扩展是
扩展…馈送到/bin/sh。例如,“%date+%%y%%m%%d”
展开为字符串“YYMMDD”,删除最后一行换行符。注意
第二个%需要将参数转义到/bin/date
回到你的问题:
我们为什么要以如此神秘的方式做这件事
[user1@localhost ~]$ sudo rpm --eval "%(/bin/bash >&2)"
root @ localhost : /home/user1 $
你应该问问作者。也许他想用一些副作用。比如执行.bashrc