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

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

  • Bash - Как сделать каждый выбор меню в 1 строке вместо нескольких выборов в 1 строке
  • Связаны ли цепи с атомами?
  • Ошибка установки переменной в длину массива в bash
  • Почему словосочетание и расширение имени файла не применяются к условному выражению внутри `]`?
  • Не допускайте моргания текста / экрана при выполнении четких
  • Это правильный способ проверить, объявлен ли параметр?
  • Отображение секунд как дней / часов / мин / сек?
  • Почему мой скрипт Bash возвращает синтаксическую ошибку?
  • 2 Solutions collect form web for “Как заставить bash считать слово `-mthreads` как` -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 } 
    Linux и Unix - лучшая ОС в мире.