我想要以下代码的别名:-
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 在线手册。