/usr/bin에서 쉘 스크립트 자동 로드

/usr/bin에서 쉘 스크립트 자동 로드

bash에서 내가 만든 쉘 스크립트를 자동으로 로드하여 /usr/bin에 넣도록 하는 방법이 있습니까?

아니면 자동으로 로드될 수 있도록 사용자 정의 셸 스크립트를 다른 곳에 배치해야 합니까?

예를 들어, content라는 스크립트를 생성한다고 가정해 보겠습니다 myscript.

#!/bin/bash
alias e=echo

실행 가능하게 만들고( chmod a+x) usr/bin에 넣습니다. 명령줄에서 e를 호출할 수 없습니다(시도하면 명령을 찾을 수 없다는 메시지가 나타납니다).

내가 뭘 잘못했나요?

답변1

alias정의한 별칭은 명령이 실제로 호출될 때까지 적용되지 않습니다. 따라서 이렇게 하려면 다음과 같이 하세요.

$ source myscript
$ e "Hello"

작동해야합니다. 그러나 ebash를 시작할 때마다 사용할 수 있기를 원하므로 이는 분명히 이상적이지 않습니다 . 다행히 bash는 쉘이 시작될 때 자동으로 명령을 실행하는 여러 가지 방법을 제공합니다. Bash 시작 방법에 대한 자세한 내용은 다음을 참조하세요.매뉴얼 페이지. 우리의 목적을 위해서는 ~/.bashrc쉘이 시작될 때 실행된다는 것(즉, 홈 디렉토리에 ".bashrc"라는 파일)이 있다는 것을 아는 것만으로도 충분합니다. 시작 시 별칭을 사용할 수 있게 만드는 한 가지 방법은 끝에 다음 줄을 추가하는 것입니다 ~/.bashrc.

source myscript

그러나 원하는 모든 별칭에 대해 이 작업을 수행하면 /usr/bin폴더가 엉망이 될 수 있습니다. 그리고 다중 사용자 시스템을 사용하는 경우 /usr/bin/이와 같은 스크립트를 채우면 다른 사용자에게도 문제가 발생할 수 있습니다. 따라서 내부에 별칭을 넣고 별도의 스크립트를 버리는 것이 좋습니다 .bashrc. Ubuntu를 사용하고 있으므로 .bashrc파일에는 다음과 같은 내용이 있을 수 있습니다.

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases 
fi

이 코드는 홈 디렉터리에서 파일 호출을 찾고 .bash_aliases해당 파일에 있는 모든 항목을 실행합니다. 이것이 있거나 이 코드를 에 추가하는 경우 .bashrc별칭도 에 넣을 수 있습니다 ~/.bash_aliases. 이를 통해 모든 별칭을 한 위치에 저장하고 .bashrc파일을 깔끔하게 유지할 수 있는 쉬운 방법을 제공합니다.

답변2

이러한 명령은 ~/.bashrc에 배치되어야 합니다.

관련 정보