Ubuntu 16.04에서 내 디렉터리에는 거의 10개의 파일이 있으며 각 파일에는 Bash 스크립트 파일이 포함되어 있습니다.
"$HOME"/myScripts/x.sh
"$HOME"/myScripts/y.sh
...
대신 다음 파일 각각에 대해 거의 10개의 서로 다른 별칭이 생성됩니다 bashrc
.
alias "$HOME"/myScripts/x.sh
alias "$HOME"/myScripts/y.sh
...
"$HOME"/myScripts/
해당 디렉터리( )에 대한 경로를 보유하고 각 파일을 실행할 수 있는 액세스 권한을 부여하지만 확장명 없이도 "전역" 별칭을 만드는 방법이 있습니까 .sh
?
예를 들어 콘솔에서 다음을 실행합니다.
x
그리고 "$HOME"/myScripts/x.sh
처형될 것이다.
저는 이와 같이 직관적이지 않은 이름을 사용하지 않을 것입니다 x
. 이것은 단지 예일 뿐입니다.
여기서 해결해야 할 작은 문제는 많은 수의 별칭을 저장하여 유지 관리를 단순화하는 것입니다. 특정 소프트웨어 컨텍스트 전용 디렉토리를 더 많이 사용할수록 이 접근 방식이 더 편리해진다고 생각합니다.
고쳐 쓰다
결국 내가 한 일은 많은 Bash 함수가 포함된 파일을 만든 다음 해당 파일을 가져온 다음 그 안에 있는 함수를 내보내는 것이었습니다.
export -f myFunc_0 myFunc_1 ...
이를 내보내는 간단한 전역 방법이 있을 수 있지만 하나도 모르겠습니다.
답변1
이 디렉터리를 경로에 추가하면 x.sh
별칭 없이 어디서나 입력할 수 있습니다.
예를 들어 ~/.bashrc
:
PATH="$PATH:$HOME/myScripts"
확장명이 필요하지 않으므로 간단히 스크립트 이름 x.sh
을 x
.
mv ~/myScripts/x.sh ~/myScripts/x
또는 스크립트에서 경로의 위치에 대한 심볼릭 링크를 생성 /usr/local/bin
하고 링크 이름을 로 지정할 수 있습니다 x
.
ln -s /home/user/myScripts/x.sh /usr/local/bin/x