设置 Ubuntu 别名的参数

设置 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

答案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'

相关内容