【发布时间】:2022-01-24 10:37:59
【问题描述】:
我有以下代码(简化):
if ! sudo -u user command1 "$Options" -o1 -o2 2>>"$log" > "$Dir"/output;
但是,在某些情况下(在运行时确定,如果变量 docker 设置为 true),我反而想执行
if ! docker exec -t "$cont" command2 "$Options" -o1 -o2 2>>"$log" > "$Dir"/output;
改变的是调用命令的方式(1 或 2)。其余参数保持不变。
所以我想参数化对 command1 或 command2 的调用。
类似
if $docker then;
Command = docker exec -t "$cont" command2
else
Command = sudo -u user command1
if ! $Command "$Options" -o1 -o2 2>>"$log" > "$Dir"/output;
这不起作用。是否有可能在不诉诸 eval 的情况下实现我想要的,我认为这是一种不好的做法?
谢谢
【问题讨论】:
-
改用数组?
-
我如何“调用”一个数组呢?这些不仅仅是参数,它也是命令......在this help中,它似乎只提到了需要参数化参数的情况,但我需要参数化函数调用
标签: bash