공통 스크립트의 / usr / local / bin에 대한 비스 도드 대안


16

/usr/local/bin터미널을 사용하여 어디에서나 실행할 수 있도록 일반적인 스크립트를 사용하는 데 익숙합니다 .

예를 들어, 나는이라는 이름의 쉘 스크립트 1를 만들고 실행 가능하게 chmod +x 1만들고에 넣은 다음 첫 번째 줄에 /usr/local/bin입력 한 스크립트 #!/bin/sh와 명령을 입력합니다. 거기서부터 입력하여 매우 편리하게 사용하고 실행할 수 있습니다.

1Enter

모든 폴더 내부의 터미널에서.

내 문제는 현재 할 수없는 컴퓨터에서 작업 sudo하고 있는데도 얻을 수 없기 때문에 스크립트를에 넣을 수 없다는 것입니다 /usr/local/bin.

내 옵션은 무엇입니까? 같은 "어디서나 실행"기능을 가진 다른 경로가 sudo있습니까?

이 게시물에 대한 답변 은

사용자 범위 스크립트의 경우 홈 디렉토리에서 bin /을 사용하십시오.

내가 시도했지만 아니 bin 홈 디렉토리에 폴더 폴더를 만들 때 여전히 다른 곳에서 스크립트를 실행할 수 없습니다.

Ubuntu 12.04 LTS에서 실행 중입니다.


2
스크립트 이름으로 1 또는 이와 유사한 것을 사용하지 마십시오. 쉘에서 무언가를 계산해보십시오. 예를 들어 expr 1 + 1 (그리고 당신이 그것을하지 않으면, 어떤 스크립트는 확실히 어느 시점에서 그것을 할 것입니다)
frlan

1
@frlan : ? expr 1 + 1라는 스크립트 가 있으면 어떻게 영향을받을 1까요?
psmears

사실 ... 영향을 미치지 expr않으며 bash 산술 $(( 1 + 1 )).
Campa

답변:


19

내 옵션은 무엇입니까? sudo없이 액세스 할 수있는 동일한 "어디서나 실행"기능을 가진 또 다른 경로가 있습니까?

어떻게합니까?

일반적 bin으로 컨벤션 으로 이름이 지정된 스크립트를 보유하기 위해 집에 디렉토리를 만드십시오 .

mkdir ~/bin

이제 스크립트를 빈으로 옮기십시오

mv somescript ~/bin

이제 어디서나 튜닝 할 수 있을까요?!

binPATH에를 추가 해야합니다

당신의 .bashrc

gedit .bashrc

이 줄을 추가하십시오 :

export PATH=$PATH:/home/username/bin

username사용자 이름 으로 바꾸는 것을 잊지 마십시오

저장하고 종료 한 다음 bashrc를 소싱하십시오.

source .bashrc

그리고 지금 당신은 괜찮아, 당신은 예전처럼 스크립트를 실행할 수 있습니다! 그러나 이것은 사용자와 만 관련이 있습니다.

참고 : 1,2 이외의 스크립트 이름을 바꾸는 것이 좋습니다. 이름에 문제가있을 수 있습니다.


최신 정보:

source ~/.profile대신 집에서 bin dir을 만드는 대신 똑같이 할 수 있습니다 ~/.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

내가 사용하는 export PATH=$PATH:$HOME/bin내가 다른 사용자 이름을 가진 다른 계정에 동일한 bashrc에 사용할 수 있도록.
Anthony G-Monica에 대한 정의

1
우분투에는 기본적으로 언급 ~/bin 되어 $PATH있습니다. source ~/.profile디렉토리를 만든 후 실행 하거나 로그 아웃 / 인하면됩니다.
Jacob Vlijm

@JacobVlijm 어떤 버전에서? !!! 나는 12.04, 14.04, 15.04를 사용하고 그들 중 아무도 PATH에 ~ / bin이 없습니다
Maythux

에서 모든 그들, 나는 항상 실행 한 후, 말했듯이, 내 (가능) 답변의 대부분에 사용뿐만 아니라, 그것에 대한 귀하의 의견,뿐만 아니라 오 시스템의 집에서 그녀를 작동 없었어하지만 source ~/.profile. 여기를 참조하십시오 : askubuntu.com/a/247422/72216
Jacob Vlijm

1
그는 소스를~/.profile~/.bashrc 말했다 , 그는 소스 를 결코 말하지 않았다 . :) 또한, 일반적으로 환경 변수는 가야 에서 .profile가 아니라 .bashrc그들이 한 번만 설정 될 필요가 있기 때문이다. (이 중 어느 것도 당신의 대답이 좋지 않다고 말하고, 당신을 생각하며, +1입니다.)
terdon

4

/ubuntu//a/643030/218015 외에도 .bashrc 내부에서 자주 사용되는 소규모 작업에 대한 별칭을 정의 할 수도 있습니다. 예 :

alias ll='ls -l'
alias ls='ls --color=auto'

ls -l을 수행하는 "명령"ll을 작성하고 별명을 정의한 후 ls에 색상을 지정합니다. https://wiki.ubuntuusers.de/alias 에는 더 많은 예제와 설정 방법이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.