如何让 bash 将“-mthreads”单词视为“-pthread”?

如何让 bash 将“-mthreads”单词视为“-pthread”?

所以我想让我的 bash`-mthreads在每次用 word 输入时替换 word -pthread。这样的事情可能吗?如何做到?

答案1

zsh可以使用全局别名来执行此操作:

alias -g -- -mthreads=-pthread

但如果您需要坚持使用 bash,请创建一个 shell 函数来过滤参数,正如@Kyle Jones 所解释的那样。

答案2

我没有看到任何方法使它适用于所有命令行,但是您可以通过为您希望进行替换的每个命令编写一个 shell 函数来执行每个命令的替换。例如:gcc你会写:

function gcc {
   local args=""
   local arg
   for arg in $@
   do
      case $arg in
         -mthreads) arg=-pthreads
      esac
      args="$args $arg"
   done
   command gcc $args
}

相关内容