如何保存/获取即将执行的 Bash post 'eval' 命令行字符串

问题描述 投票:0回答:1

我们如何在执行完后立即获取/保存 bash 接受并执行的最终命令行字符串

eval

很难解释,所以当 xtrace 打开时确实很有帮助,例如:

$ cmd=ls; f=package.o ; eval $cmd $f
+ cmd=ls
+ f=package.o
+ eval ls package.o
++ ls package.o
package.o

我们看到 xtrace 打印出倒数第二个字符串(删除了前缀 ++):

 ls package.o

必须位于 Bash 变量中

bash command-line controls
1个回答
0
投票

您可以重新定义

eval
以保存其参数:

eval(){
    eval_args=("$@")
    builtin eval "$@"
}
© www.soinside.com 2019 - 2024. All rights reserved.