2015-01-14 2 views
-1

나는 통제 된 평가를 위해 일을 매우 고수하고있다. 나는 hello world와 hello $ user를 반향하는 쉘 스크립트를 nano에서 만들 것을 요청 받았다. 실행 가능한 스크립트를 설정했습니다. (chmod 755 Script1 및 chmod + x Script1). 나는 'Script1'을 입력하여 스크립트를 실행할 수 있도록 임무를 부여 받았지만,이를 수행 할 경로를 설정하는 방법을 모르겠습니다. 어떤 도움이라도 대단히 감사하겠습니다.이름을 입력하여 쉘 스크립트를 실행하는 방법은 무엇입니까?

+2

디렉토리가 들어있는 경로를 포함하도록 설정하십시오.'/ home/youruser/bin'에있는 경우'PATH = $ PATH :/home/youruser/bin'을 실행하십시오. –

+2

*하지 말아야 할 것은'.'을 경로에 넣는 것입니다. 그런 식으로 보안 취약점이 있습니다. (특히 PATH 앞에 있다면'/ tmp/ls '와 같은 이름의 파괴적인 파일은 다중 사용자 시스템에서'/ tmp'에''ls'를 실행하려고 부주의 한 것을 잡는 데 사용되는 것이 일반적입니다. 일반적인 명령의 철자 오류나 제거 된 프로그램 이름의 철자에 대한 오랜 역사의 공격. –

답변

2

기본적으로 the PATH environment variable에 있어야합니다.

그것이 /a/b/folder/script.sh에있는 폴더에있어 가정, 시도 :

PATH=$PATH:/a/b/folder/ 

이 실행하는 명령을 찾을 때이 실행 파일을 찾기 위해 쉘을 알려줍니다.

당신은 몇 가지 옵션이 그것을 항상 실행의 확인 :

  1. ~/.bashrc를 사용하여 프로필의 경로 변수 또는 (내가 무엇을 사용하는, 일반적으로 ubuntu에서 수행, bash을 위해 그것을 설정) 설정 ~/.profile.
  2. /etc/environment or others ...
  3. 이미 경로에있는 폴더 (echo $PATH)가 이미있는 폴더로 이동하십시오.

이러한 파일은 source-ed on different stages and persist on different environments입니다.

자세한 내용은 read this.

TIP :~/.bashrc에서 source ~/.bashrc 모든 것이로드됩니다 사용할 수 있습니다, 우리가 예를 들어 ~/.bashrc 할게요, 당신이 파일을 올바르게 설정 한 것을 테스트합니다. 그런 식으로 당신은하지 꼬이지 다음 번에 당신이 로그인 할 확신 할 수 있습니다.

+0

PATH = $ PATH :/home/pi/Script1을 시도했지만 작동하지 않았습니다. 어떤 경로를 사용해야할지 모르겠지만 의견에 감사드립니다. –

+1

@JoelPodmore –

+2

@JoelPodmore가 아닌 폴더를 추가했는지 확인하십시오. ** 스크립트 **를 저장하는 디렉토리는 ** 스크립트 자체가 아닌 ** PATH에 넣어야합니다. 홈 디렉토리에는 모든 종류의 뻔뻔 스러움이있는 경향이 있기 때문에 홈 디렉토리에 스크립트를 두어서는 안됩니다. –

0

별칭 홈 경로에 .bash_profile을

에서 스크립트가 .bash_profile을 파일을 열고 다음 항목을 추가,

script1이 별명 = '/ 패스 /로/script1이'

그때 배쉬 다시로드

. .bash_profile

그런 다음 이름을 사용하여 스크립트를 호출 해보십시오. 즉 Script1

관련 문제