在 bash 别名中指定 gcc 输出文件名
Specifying gcc output file name in a bash alias
我已经开始使用 ncurses 学习 C,并且想让编译命令少一些冗长的输入。以下是我正在使用的完整命令。
gcc example.c -o example -lncurses
我想做的是制作一个 bash 别名来满足上述要求,但只需输入,比如...
gcc_alias example.c
我对 bash 一点经验都没有,但是有没有可能在我的 .bashrc 中做一个小小的单行别名来完成这个?
我自己尝试过,我能想到的最好的是:
gcc_alias="gcc -o ____ -lncurses"
显然 ____ 是我无法弄清楚的部分。
我一直在寻找答案,但未能找到足够相似的问题。
干杯。
这不能用别名来完成(别名是严格的文本替换)。您可以像这样使用 shell 函数:
gcc_alias() { gcc -o "${1%.*}" "" -lncurses; }
被称为
gcc_alias example.c
这里${1%.*}
是一个参数展开,从</code>.</p>中去掉匹配<code>.*
的最短后缀
说真的,为了使编译易于管理,您需要看一下 makefiles。
我已经开始使用 ncurses 学习 C,并且想让编译命令少一些冗长的输入。以下是我正在使用的完整命令。
gcc example.c -o example -lncurses
我想做的是制作一个 bash 别名来满足上述要求,但只需输入,比如...
gcc_alias example.c
我对 bash 一点经验都没有,但是有没有可能在我的 .bashrc 中做一个小小的单行别名来完成这个?
我自己尝试过,我能想到的最好的是:
gcc_alias="gcc -o ____ -lncurses"
显然 ____ 是我无法弄清楚的部分。
我一直在寻找答案,但未能找到足够相似的问题。 干杯。
这不能用别名来完成(别名是严格的文本替换)。您可以像这样使用 shell 函数:
gcc_alias() { gcc -o "${1%.*}" "" -lncurses; }
被称为
gcc_alias example.c
这里${1%.*}
是一个参数展开,从</code>.</p>中去掉匹配<code>.*
的最短后缀
说真的,为了使编译易于管理,您需要看一下 makefiles。