bashに "-mthreads"という単語を "-pthread"として扱うようにするにはどうすればよいですか?

bashに "-mthreads"という単語を "-pthread"として扱うようにするにはどうすればよいですか?

`-mthreadsだから私は単語を入力するたびにbashが単語を置き換えたいと思います-pthread。そのようなことは可能ですか?どうすればいいですか?

答え1

zshグローバルエイリアスを使用してこれを実行できます。

alias -g -- -mthreads=-pthread

しかし、 bash を引き続き使用する必要がある場合は、@Kyle Jonesが説明したように、引数をフィルタリングするシェル関数を作成してください。

答え2

すべてのコマンドラインで機能させる方法はありませんが、置き換えたいコマンドごとにシェル関数を作成してコマンドごとの置換を実行できます。たとえば、次のように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
}

関連情報