使用特殊参数给命令起别名

使用特殊参数给命令起别名

我想要以下代码的别名:-

g++ *.cc -o * `pkg-config gtkmm-3.0 --cflags --libs`;

但我希望当我输入别名时,后面应该跟着文件名*.cc,然后是编译程序的名称*

例如:

gtkmm simple.cc simple

应该运行

g++ simple.cc -o simple `pkg-config gtkmm-3.0 --cflags --libs`

答案1

您需要的不是别名,而是函数。别名不支持您想要的参数。它只会附加文件而结束,gtkmm simple.cc simple结果如下:

g++ -o `pkg-config gtkmm-3.0 --cflags --libs` simple.cc simple

这并不是你想要达到的目标。相反,函数允许您:

function gtkmm () {
    g++ "$1" -o "$2" `pkg-config gtkmm-3.0 --cflags --libs`
}

这里,$1 和 $2 是第一个和第二个参数。 $0 是调用者本身:

gtkmm simple.cc simple
$0    $1        $2

您可以使用 测试该功能echo

您可以在以下位置找到有关功能的更多功能Bash 在线手册

相关内容