Как заставить bash считать слово `-mthreads` как` -pthread`?

Поэтому я хочу, чтобы мой bash заменил слово `-mthreads каждый раз, когда я -pthread его со словом -pthread . Возможно ли это и как это сделать?

В zsh вы можете сделать это с помощью глобального псевдонима:

 alias -g -- -mthreads=-pthread 

Но если вам нужно придерживаться bash, сделайте функцию оболочки для фильтрации аргументов, как объяснил @Kyle Jones.

Я не вижу никакого способа сделать это применимым ко всем командам, но вы можете сделать замену для каждой команды, написав функцию оболочки для каждой команды, для которой вы хотите, чтобы замена выполнялась. Пример: для 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 }