我想加快使用别名在 C 中编译文件所需的时间。
这是我的别名:
alias gccp="gcc -pendantic -Wall -ansi '$1'.c -o '$1'"
我尝试 gccp p1 并期望它运行命令 gcc -pendantic -Wall -ansi p1.c -o p1
。
我做错了什么?
最佳答案
别名不能有参数;在你的情况下, $1 什么都不是。您需要创建一个执行此操作的函数并将其导出。
编辑:
我错了。在 bash 别名中参数是可能的但是它们是在创建别名时分配的,而不是在调用别名时分配的。因此,为了实现您想要的功能,请在 .bashrc 文件中添加此功能并重新启动 bash。
function gccp()
{
gcc -pendantic -Wall -ansi $1.c -o $1
}
甚至进一步编辑
这完全取决于你所说的争论。例如,如果我在我的 .bashrc
文件中添加以下内容并重新启动 bash
别名 blabla="echo $HOSTNAME"
然后我调用 blabla
我得到了我的主机名。但是 $HOSTNAME 并不是一个真正的论点。这是一个变量。参数意味着您正在为正在调用的函数/命令提供某种信息。因此根据该定义,别名不接受参数。
关于c - 别名、变量和文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13073407/