파일에 새 별칭을 정의하거나 .bash_aliases
파일에 새 함수를 정의할 때 .bashrc
터미널을 닫지 않고 새 별칭이나 함수를 즉시 사용할 수 있는 새로 고침 명령이 있습니까(내 경우에는 xfce4-terminal, 여러 탭이 열려 있고 여러 탭이 열려 있음) 파일 및 직장에서)?
답변1
변경된 파일을 가져오면 현재 터미널에 새로 작성된 별칭이나 기능에 대한 액세스가 제공됩니다. 예를 들면 다음과 같습니다.
source ~/.bashrc
또 다른 구문:
. ~/.bashrc
터미널에서 bash 인스턴스가 많이 실행 중인 경우(여러 탭을 언급한 경우) 각 인스턴스에서 이를 실행해야 합니다.
답변2
. ~/.bashrc
명령줄에 이것을 입력하면 실행되어 .bashrc
파일에 정의된 모든 기능이 생성됩니다.
.bashrc
그런 다음 자체적으로 호출하여 실행됩니다 .bash_aliases
(만약에존재함) .bashrc
내부에 다음 코드가 있는 경우:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
단독으로 사용하는 동안 . ~/.bash_aliases
(예: 명령줄에서) .bash_aliases
.bashrc를 포함하지 않고 실행을 시도하고 파일이 존재하지 않으면 오류를 표시합니다(따라서 테스트할 때 파일을 확인합니다 .bashrc
).
답변3
때로는 별칭을 함수로 바꾸고 싶지만 bashrc 파일을 얻을 때 이상한 오류가 발생할 수 있습니다.
. ~/.bashrc
bash: /home/username/.bashrc: line 38: syntax error near unexpected token `('
bash: /home/username/.bashrc: line 38: `hello_world() {'
이는 별칭이 새로 정의된 함수의 이름과 충돌하기 때문에 발생할 수 있습니다. 내가 아는 한, 이 문제를 방지하려면 모든 항목의 별칭을 해제한 다음 bashrc 파일을 가져와야 합니다.
bash-4.3 $
unalias -a && . $HOME/.bashrc