具有相同参数的bash alternative命令
我想运行以下命令:具有相同参数的bash alternative命令,bash,shell,Bash,Shell,我想运行以下命令: cmd -arg1 foo -arg2 bar 但是,如果cmd better可用,我更愿意使用相同的参数执行它: cmd-better -arg1 foo -arg2 bar 最后,我的问题是,这可能只在一行中出现,例如: (cmd-better || cmd) -arg1 foo -arg2 bar (这意味着使用这些参数更好地执行cmd(如果可用),否则使用相同的参数执行cmd。您可以执行以下操作: "$(command -v cmd-better cmd | h
cmd -arg1 foo -arg2 bar
但是,如果cmd better
可用,我更愿意使用相同的参数执行它:
cmd-better -arg1 foo -arg2 bar
最后,我的问题是,这可能只在一行中出现,例如:
(cmd-better || cmd) -arg1 foo -arg2 bar
(这意味着使用这些参数更好地执行
cmd
(如果可用),否则使用相同的参数执行cmd
。您可以执行以下操作:
"$(command -v cmd-better cmd | head -n 1)" -arg1 foo -arg2 bar
但我不推荐
我会提前执行,并将所需的命令存储在变量中
比如:
if ! cmd=$(command -v cmd-better); then
cmd=$(command -v cmd)
fi
"$cmd" -arg1 foo -arg2 bar