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

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

  • Как управлять циклом?
  • Bash - Как я могу сделать «Нажмите любую клавишу, чтобы продолжить»
  • Bash: нажатие 4 раза
  • Как я могу просмотреть ссылку или чит-лист базового синтаксиса bash в терминале linux?
  • Значение `10 # N`
  • Удаление строк с разными шаблонами в файле
  • Как назвать файл на самом глубоком уровне дерева каталогов
  • Самый быстрый способ изменить dir из / xxxxx / foo / yyyyyy в / xxxxx / bar / yyyyyy
  • существует ли простой / чистый способ сделать «пустую логическую переменную» оценкой «false» на скриптах bash?
  • Переместите все файлы в новый каталог, за исключением этого каталога
  • Bizzarre поведение «эхо !!» под интерактивным Bash. Это особенность?
  • Как загрузить .bashrc из "bash -c"
  • 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 - лучшая ОС в мире.