다음 코드에 대한 별칭을 원합니다.
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
.
기능에 대한 자세한 내용은 다음에서 확인할 수 있습니다.배쉬 온라인 매뉴얼.