![일반 스크립트의 경우 /usr/local/bin에 대한 비 sudo 대안](https://rvso.com/image/1127626/%EC%9D%BC%EB%B0%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%9D%98%20%EA%B2%BD%EC%9A%B0%20%2Fusr%2Flocal%2Fbin%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%B9%84%20sudo%20%EB%8C%80%EC%95%88.png)
/usr/local/bin
나는 터미널을 사용하여 어디에서나 실행할 수 있도록 공통 스크립트를 넣는 데 익숙합니다 .
예를 들어, 나는 이라는 이름의 셸 스크립트를 만들고 1
, 이를 실행 가능하게 만들어 에 chmod +x 1
넣은 다음 /usr/local/bin
스크립트 내부의 #!/bin/sh
첫 번째 줄에 입력하고 명령을 입력합니다. 이후에는 매우 편리하게 사용할 수 있으며 입력만으로 빠르게 실행할 수 있습니다.
1
Enter
터미널의 모든 폴더 내부에서.
내 문제는 내가 현재 할 수 없는 컴퓨터에서 작업하고 있고 sudo
그것을 얻을 것이라고 기대할 수도 없기 때문에 스크립트를 /usr/local/bin
.
내 옵션은 무엇입니까? 없이 액세스할 수 있는 동일한 "어디서나 실행" 기능을 가진 다른 경로가 있습니까 sudo
? 아니면 동등한 것을 달성할 수 있는 다른 방법이 있습니까?
에 대한 허용된 답변이 게시물라고
사용자 범위 스크립트의 경우 홈 디렉터리에서 bin/을 사용하세요.
시도해 보았지만 bin
내 홈 디렉토리에 폴더가 없고 폴더를 만들었을 때 여전히 다른 곳에서 스크립트를 실행할 수 없었습니다.
저는 Ubuntu 12.04 LTS를 실행하고 있습니다.
답변1
내 옵션은 무엇입니까? sudo 없이 액세스할 수 있는 동일한 "어디서나 실행" 기능을 가진 다른 경로가 있습니까? 아니면 이와 동등한 것을 달성할 수 있는 다른 방법이 있습니까?
어떻게 하나요?
일반적으로 규칙으로 명명된 스크립트를 보관할 디렉터리를 집에 만듭니다 bin
.
mkdir ~/bin
이제 스크립트를 bin으로 옮기세요.
mv somescript ~/bin
이제 어디서나 재미있게 만드는 방법?!
bin
PATH에 추가해야합니다
너의.bashrc
gedit .bashrc
그리고 다음 줄을 추가하세요:
export PATH=$PATH:/home/username/bin
username
사용자 이름으로 바꾸는 것을 잊지 마십시오.
저장하고 종료한 다음 bashrc를 소싱합니다.
source .bashrc
이제 괜찮습니다. 예전처럼 스크립트를 실행할 수 있습니다! 하지만 이는 귀하의 사용자에게만 관련된 것임을 알아야 합니다.
참고: 해당 이름에 문제가 발생할 수 있으므로 1,2 이외의 스크립트 이름을 바꾸는 것이 좋습니다.
업데이트:
source ~/.profile
대신에 집에 bin 디렉토리를 생성하면 됩니다 ~/.bashrc
. ~/bin을 PATH에 추가하면 이미 나열되어 있으므로.profile
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
답변2
게다가https://askubuntu.com/a/643030/218015작고 자주 사용되는 작업을 위해 .bashrc 내에 별칭을 정의할 수도 있습니다. 예:
alias ll='ls -l'
alias ls='ls --color=auto'
ls -l을 수행하는 "명령" ll을 생성하고 별칭을 정의한 후 ls에 색상이 지정됩니다.https://wiki.ubuntuusers.de/alias더 많은 예제와 설정 방법이 있습니다.
답변3
노력하다 ~/.local/bin/
.
(나는 이 답변이 새로운 것을 추가하지 않는다는 것을 인정하지만 다른 모든 것을 읽을 필요가 없는 이 질문에 대한 짧은 답변이 있습니다.)
답변4
모든 사람을 더 안전하게 만들기 위해 루트 권한이 거부되는 다중 사용자 환경에서 정말 도움이 되기 때문에 사용자별 저장소가 있어야 합니다. Bash 스크립트에서 다음을 사용하여 자동으로 생성합니다.
if [ ! -d "$HOME/.local/bin" ] ; then
mkdir -p "$HOME/.local/bin"
printf '\nexport "PATH=$PATH:'"$HOME"/.local/bin'"' >> "$HOME/.bashrc"
# Change the PATH right now:
PATH="$PATH:$HOME/.local/bin"
fi