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

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

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 } 
  • Как встроить групповой шаблон в bash?
  • Идентификация и перемещение полей в строке
  • корневая оболочка не использует --color = auto
  • использование. в bash
  • Что делает unset?
  • bash: Источник: команда не найдена
  • Какая конфигурация может вставлять строки между командами?
  • Почему ничего не видно из переменной экспансии?
  • Нулевой ввод в текстовом файле
  • Что я должен знать, когда я определяю функцию bash для использования имени программы?
  • Условное присвоение на основе переменной среды
  • Удаление файла с непечатаемыми символами
  • Linux и Unix - лучшая ОС в мире.