c - 别名、变量和文件名

标签 c linux macos unix

我想加快使用别名在 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/

相关文章:

c - c中的二进制转十进制

c - C 结构中的指针问题

c - float* 类型的变量应该指向单个 float 还是一系列 float ?

c - 重复调用的函数中的静态变量 C

linux - 如何在 init.d 上打补丁?

linux - 如何根据从一个文件到另一个文件的模式匹配来选择特定的行

linux - 永久设置 PATH 环境变量 Centos Web 面板安装...从 SSH 工作,而不是网页

objective-c - 音频图输出单元回调函数-无法读取数据

objective-c - 如何处理 NSTextField 子类的第一响应者状态?

macOS 主菜单子(monad)项不显示