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

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

  • Как избежать специальных символов в строке?
  • bash: файл mv с апострофом в имени файла
  • Удаление многоразовых расширений в хроме
  • путь к файлу в переменной с пользовательского ввода
  • Использование `;` в составных командах
  • Должен ли я регулярно добавлять двойные кавычки вокруг своих эхо-заявлений?
  • Суммируйте заданный срез элементов в массиве (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 - лучшая ОС в мире.