别名 – 能够传递参数吗?
我想在我的.bashrc或.bashrc_aliases文件中创建一个别名(可能是后者)。 具体来说,我想调用我正在编写的* .c文件的clang命令。 如果我提供一个例子,我最想总结的是:
我编写了program1.c我希望能够键入(在终端中) compile program1
,并且应该实际运行以下内容:
clang -ggdb -std=c99 -Wall -Werror program1.c -lcrypt -lcs50 -lm -o program1
对于那些参加过Harvard CS50课程的人来说,你会认识到这是他们的make
命令。 所以,如果上述情况不可能发生,并且您知道另一种方法可以实现这一目标,那我就听见了。 我正在努力避免使用他们的虚拟机,因为我的上网本并不能真正达到处理虚拟机的标准。
不,您不能将参数传递给别名。 但是你可以定义一个函数:
compile() { clang -ggdb -std=c99 -Wall -Werror ${1}.c -lcrypt -lcs50 -lm -o $1 ; }
(如果你愿意,你可以将它全部放在一行中,只需记住命令末尾的分号)
这将按预期工作,并且是推荐的习惯用法,应该替换别名,除了琐碎的目的。
但也许你真正需要的是一个Makefile?