일반적인 bash 설정은 source
시작 시 추가 도트 파일을 추가하므로 시작 시간이 확실히 늘어납니다.
함수의 내용을 자체 실행 파일로 옮기면 어떤 이점이 있나요?
현재 설정
~/.bashrc
#!/bin/sh
if [ -f ~/.bash_functions ]; then . ~/.bash_functions; fi
~/.bash_functions
#!/bin/sh
function_one(){}
function_two(){}
....
권장 설정
~/.bashrc
#!/bin/sh
export PATH="$PATH:$HOME/.bash_functions/bin"
- ~/
- .bash_function/
- 쓰레기통/
- 기능 1
- 기능 2
- 쓰레기통/
- .bash_function/
답변1
실제로 스크립트 파일을 실행하면 새로운 셸 프로세스가 생성되지만 스크립트를 가져오지는 않으므로 전제가 잘못되었습니다. 그렇지 않더라도:
1) 제안된 설정은 새로 생성된 쉘 외부에서는 이러한 기능이 표시되지 않기 때문에 작동하지 않습니다.
2) 소스 스크립트와 실행 가능한 스크립트 간의 실행 시간 차이는 무시할 수 있습니다.
3) 제안된 설정은 궁극적으로더실행된 파일입니다.
어쨌든 쉘 스크립트(해석)는 컴파일된 C 프로그램과 같은 고성능이 아닌 명확성과 실용성을 위해 설계되었습니다. 기본적으로 여기서 (잘못된 방식으로!) 하려는 것은 당나귀 카트를 조정하는 것입니다.