Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有相同参数的bash alternative命令_Bash_Shell - Fatal编程技术网

具有相同参数的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