在bash别名中指定gcc输出文件名

时间:2015-03-01 22:52:24

标签: c bash gcc

我已经开始使用ncurses学习C了,并希望使编译命令稍微长一点,以便输入。以下是我正在使用的完整命令。

gcc example.c -o example -lncurses

我想做的是制作一个满足上述要求的bash别名,但只需输入,比如...

gcc_alias example.c

我根本没有很多关于bash的经验,但是我可以在.bashrc中创建一个小的单行别名来实现这个目标吗?

我已经尝试过自己,我能想到的最好的是:

gcc_alias="gcc $1 -o ____ -lncurses"

显然____是我无法弄清楚的部分。

我已经找到了答案但是还没有找到类似的问题。 干杯。

1 个答案:

答案 0 :(得分:3)

使用别名无法做到这一点(别名是严格的文本替换)。你可以使用这样的shell函数:

gcc_alias() { gcc -o "${1%.*}" "$1" -lncurses; }

被称为

gcc_alias example.c

此处${1%.*}是一个参数扩展,用于从.*中删除与$1匹配的最短后缀。

说真的,为了使编辑易于管理,你需要看一下makefiles