.bash_profile에 경로 설정과 별칭이 거의 없으며 내보내는 중입니다.
예를 들어:
alias gcc=/abc/def/......./myrtgcc
export gcc
나는 사용하고 싶다밀트 gccgcc
다음 명령을 사용하여 시스템을 실행하려는 터미널이나 Eclipse에서 C 프로그램을 컴파일합니다 myrtgcc somfile.c -o output
.
그러나 이는 사실이 아니다. 위의 별칭을 추가 .bash_profile
하고 시스템을 다시 시작한 후에도(또는 을 사용하여 source .bash_profile
) 변경 사항이 반영되지 않습니다. 터미널을 열고 을 입력하면 가 표시 which gcc
되고 /usr/bin/gcc
eclipse가 "GCC" 명령을 사용하면 동일한 명령이 다시 호출됩니다 /usr/bin/gcc
.
어떻게 만드나요?밀트 gcc명령에 사용되는 시스템 기본값걸프 협력 협의회
답변1
당신은 몇 가지 사항에 대해 혼란스러워합니다.
which
별칭은 반영되지 않습니다. 따라서which
별칭이 생성되었는지 확인하려고 할 때 를 사용하는 것은 도움이 되지 않습니다.alias
대신 인수 없이 실행하면 유효한 별칭이 모두 표시됩니다. 예:anthony@Zia:~$ foo bash: foo: command not found anthony@Zia:~ [$?=127]$ alias foo='echo hi' anthony@Zia:~$ foo hi anthony@Zia:~$ which foo anthony@Zia:~ [$?=1]$
별칭은 다른 어떤 것에도 영향을 주지 않고 셸에만 영향을 줍니다. .dll을 실행하려고 할 때 쉘 별칭은 중요하지 않습니다
make
. 별칭이 아닌 변수만 내보낼 수도 있습니다. 다음은 Perl을 실행하려는 예입니다(다시 foo 별칭을 사용함).eclipse
gcc
anthony@Zia:~$ perl -Mautodie=system -E 'system("foo")' "foo" failed to start: "No such file or directory" at (eval 6) line 12. at -e line 1
컴파일하는 대부분의 작업은 대신 실행 등을
cc
수행 합니다 . 따라서 다시 작성하더라도 작동하지 않을 수 있습니다.c++
gcc
gcc
그렇다면 이것을 달성하는 방법은 무엇입니까?
make
가장 좋은 방법은 사용할 컴파일러를 알려주는 것입니다 .
make CC=/path/to/myrtgcc target
/.configure
autoconf를 사용하는 프로그램을 실행할 때 환경에 전달할 수도 있습니다.
두 번째 방법은 (예를 들어) 등의 이름을 가진 간단한 쉘 스크립트를 생성 gcc
하여 경로의 첫 번째 위치에 배치하는 것입니다. 스크립트는 다음과 같습니다.cc
~/bin
#!/bin/sh
exec /path/to/myrtgcc "$@"
PATH에서 다음과 같은 것을 사용하여 먼저 배치할 수 있습니다 .bashrc
.
PATH="$HOME/bin:$PATH"
export PATH
답변2
쉘 문서를 읽어보세요. 구성 파일에는 두 가지 유형이 있습니다. .bash_profile은 이미 로그인되어 있고 일부 작업(예: 새 터미널 열기)을 수행할 때 실행됩니다. 또 다른 유형의 프로필은 시스템에 처음 로그인할 때 사용되는데, 이상하게도 이를 로그인 프로필이라고 합니다. 원하는 작업을 수행하려면 .profile에 내용을 넣어보세요.