ubuntu 23.10 alias function 파라미터 문제

우분투에서 gcc 명령어를 간편하게 작성하기 위해 alias를 작성하고 있습니다.
가장 흔히 사용하는 gcc -o 을 cbuild 으로 작성하면 실행파일(execute filename) 이름은 빌드할 파일(c filename) 이름으로 자동 작성되게끔 만들고 싶습니다.

ex) gcc -o test1 test1.c → cbuild test1.c → test1 실행파일 생성

검색 결과 파라미터를 가지는 alias는 function으로 해결 가능하고 파라미터 자체는 $ 키워드로 구분 가능하며, 별도의 문자열 지정을 통해 .c 확장자를 날려 이름만 남기게끔 만들 수 있다고 했습니다. 아래의 코드를 봐주세요.

# custom alias
function cbuild() {
    gcc -o "${1%.*}" "$1"
}

하지만 이를 .bashrc 파일에 넣고 source를 돌린 뒤 cbuild를 사용하면, 빌드 자체는 잘되지만 실행파일 이름이 .c로 나오는 문제가 발생합니다. 어떻게 하면 제가 원하는대로 나오는지 알고 싶습니다!

1개의 좋아요

ssh로 연결했는데 ssh를 껐다 켜고 원문대로 function 코드 넣으니 잘 작동하네요…?
역시 뭐든 껐다 켜기를 꼭 해봐야 하는 것 같습니다…

감히 예상해보자면 한순간에 source를 너무 때려넣어서 정신을 못 차렸다…정도인데 이것조차 맞는지는 잘 모르겠습니다.

1개의 좋아요