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


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.