Установите параметры для псевдонима Ubuntu

У меня есть пример команды:

g++ main.cpp -o main -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -I/usr/local/include/opencv4

Выполнение всей указанной выше команды создаст файл main на основе второго аргумента main после параметра -o . Я сбросил его в файле .zshrc следующим образом:

alias ocv='f(){ g++ "$@" -o built_$@ -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -I/usr/local/include/opencv4; unset -f f; }; f'

Теперь выполните указанную выше команду следующим образом:

ocv main.cpp

Будет создан файл с именем built_main.cpp . Но я хочу, чтобы он сгенерировал файл main , удалив расширение .cpp . Как это сделать?

3
задан 19 July 2021 в 07:18

1 ответ

Для zsh вы должны использовать модификатор : r на $ @ , см. например это .

Итак, это будет

alias ocv='f(){ g++ "$@" -o built_$@:r -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -I/usr/local/include/opencv4; unset -f f; }; f'
5
ответ дан 28 July 2021 в 11:17

Другие вопросы по тегам:

Похожие вопросы: