스크립트를 실행하기 위해 사용자 정의 터미널 명령을 어떻게 만들 수 있습니까?


36

저는 웹 개발자입니다. 작업을 시작하고 싶을 때 항상 터미널에서 명령을 실행하고 있습니다. 예를 들면 다음과 같습니다.

sudo service apache2 start
sudo service mysql start
sublime

이 프로세스 속도를 높이기 위해 .sh이러한 명령이 포함 된 파일을 만듭니다 .

이제 작업을 시작하고 싶을 때이 .sh 파일과 모든 서비스 (mysql, apache2 등)를 시작하고 있습니다.

이에 대한 사용자 정의 명령을 작성할 수 있습니까? 예를 들어 sudo start-working터미널에 입력 하면 다음 명령이 실행됩니다.

답변:


58

사람들이 이것을 처리하는 일반적인 방법은 bin홈 디렉토리에 디렉토리 를 만드는 것입니다 .mkdir ~/bin

그런 다음 여기에 사용자 지정 스크립트를 넣을 수 있습니다. mv start-working ~/bin

스크립트가 실행 가능한지 확인하십시오. chmod +x ~/bin/start-working

~/.bashrc파일 맨 아래에 이것을 추가 하십시오 (아마 bash를 사용하는 경우).export PATH=$PATH:~/bin

이제 터미널에 다시 로그인하고 로그 아웃하면을 간단히 입력 start-working하면 스크립트가 실행됩니다.

이제 경로가 설정되었으므로 새 스크립트를 삽입 ~/bin하면 이름을 입력하면됩니다.


13
+1하고 로그 아웃 및 로그인하는 대신 간단하게 source ~/.bashrc또는 . ~/.bashrc명령을 실행 하여 변경 사항을 적용 할 수 있습니다 .
Meysam

Joe Oppegaard, 필자가 완성한 스크립트가 있고 스크립트가 아닌 명령으로 실행하고 싶을 때이 유용한 정보를 찾을 수 있습니다. ~ / bin에서 생성하는 모든 하위 디렉토리를 포함하여 .bashrc에 여러 내보내기 줄을 포함시킬 필요가없는 방법이 있습니까? 시도 export PATH=$PATH:~/bin/*했지만 원하는 결과를 얻지 못했습니다.
Kevin Wyman

2
기본값은 ~/.profile이미 ~/binPATH에 추가되므로 추가하면 PATH ~/.bashrc가 무의미하게 두 번 이상 추가됩니다.
geirha

.bashrc에 아무것도 추가하지 않고 작동하므로 geriha가 말한 것처럼 건너 뛸 수 있습니다.
Aaron Flores

내 경험에 따르면 새 파일을 추가 할 때 chmod 명령을 다시 실행해야합니다. 그렇지 않으면 권한이 거부됩니다.
Webwoman

15

사용자 지정 명령을 만드는 방법을 찾고 있었고 다른 사람들 사이 에서이 질문을 발견했습니다. 내가 찾고있는 것은 별칭을 찾는 것이므로 별칭 으로이 작업을 수행 할 수있는 방법을 알려 드리겠습니다.

홈 폴더에서 :

nano .bash_aliases

그리고 한 줄로 명령을 작성할 수 있습니다.

alias start-working='sudo service apache2 start; sudo service mysql start; sublime'

파일을 저장 한 후 bashrc를 재구성하십시오

. ~/.bashrc

새 별칭이로드되었는지 확인하십시오.

alias

그게 다야, 당신은 지금 실행하여 작업을 시작할 수 있습니다

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