我已经开始使用ncurses学习C了,并希望使编译命令稍微长一点,以便输入。以下是我正在使用的完整命令。
gcc example.c -o example -lncurses
我想做的是制作一个满足上述要求的bash别名,但只需输入,比如...
gcc_alias example.c
我根本没有很多关于bash的经验,但是我可以在.bashrc中创建一个小的单行别名来实现这个目标吗?
我已经尝试过自己,我能想到的最好的是:
gcc_alias="gcc $1 -o ____ -lncurses"
显然____是我无法弄清楚的部分。
我已经找到了答案但是还没有找到类似的问题。 干杯。
答案 0 :(得分:3)
使用别名无法做到这一点(别名是严格的文本替换)。你可以使用这样的shell函数:
gcc_alias() { gcc -o "${1%.*}" "$1" -lncurses; }
被称为
gcc_alias example.c
此处${1%.*}
是一个参数扩展,用于从.*
中删除与$1
匹配的最短后缀。
说真的,为了使编辑易于管理,你需要看一下makefiles。