/home/downloads/
예를 들어 특정 디렉터리에서 종결자를 연 다음 명령을 실행하고 싶습니다 .
이 "사용자 정의 명령"을 사용하여 첫 번째 부분을 완료했습니다. cd /home/downloads; bash
이제 터미네이터가 이 디렉터리에서 실행되지만 두 번째 부분을 어떻게 완료할 수 있습니까?
ls
이제 다운로드 디렉터리에서 종료자가 시작되었으므로 또는 rake
명령이나 일부 별칭을 명령으로 사용하는 등 원하는 명령을 실행하고 싶습니다 . 어떻게 해야 하나요?
종결자를 마우스 오른쪽 버튼으로 클릭하고 "매개변수"를 선택한 다음 "레이아웃"을 선택하고 "사용자 정의 명령" 섹션에 텍스트를 추가했습니다.
이 모든 작업은 터미네이터가 시작된 후 자동으로 실행되어야 합니다.
답변1
cd /home/downloads; exec bash
사용자 정의 명령으로 실행합니다. ( exec
내장 기능은 bash
터미널 에뮬레이터의 자손이 되도록 보장합니다. 내장 기능이 없으면 결국 손자가 될 수 있습니다.) terminator -e 'cd /home/downloads; exec bash'
명령줄에서 실행할 수 있습니다.
별칭은 에 의해 정의되므로 사용자 정의 명령에서 별칭을 사용할 수 없습니다 ~/.bashrc
. 그러나 파일은 터미널 에뮬레이터와 스크립팅 셸 사이를 연결하는 역할을 하는 스크립팅 셸이 아닌 대화형 셸에 의해서만 로드됩니다. 별칭을 사용하려면 명시적으로 로드해야 합니다. 별도의 파일에 넣으면 이런 모습이 됩니다.
. ~/.bash_aliases; cd /home/downloads; exec bash
아니면 명령줄에서
terminator -x bash -c '. ~/.bash_aliases; cd /home/downloads; exec bash'
별칭이 있는 경우 ~/.bashrc
를 사용하세요 . 하지만 쉘이 대화형이 아니기 때문에 . ~/.bashrc
별칭에 오류를 일으킬 수 있는 내용이 있을 수 있다는 점에 유의하세요 . .bashrc
이런 일이 발생하는 경우 가장 간단한 해결책은 별칭(및 글루 코드에서 사용하려는 기능 및 기타 설정)을 별도의 파일로 분할하고 이를 사용 .
하여 .bashrc
.
답변2
나는 같은 문제를 가지고있다Terminator를 사용하여 가상 환경 활성화.
비결은 "하나의" 명령으로 모든 작업을 수행하는 것입니다 bash
. -i
옵션(대화형)을 활용 하고 원하는 대로 설정을 --rcfile
통해 사용자 정의를 사용하세요. PROMPT_COMMAND
결과는 다음과 같습니다:
command = "bash --rcfile <(cat ${HOME}/.bashrc; echo 'export PROMPT_COMMAND="your commands; go here; unset PROMPT_COMMAND"') -i"
your commands; go here;
실제 명령으로 바꾸십시오 .설명은 이 답변을 참조하세요..
답변3
첫 번째 명령을 추가한 것과 같은 방식으로 다른 명령을 추가하면 됩니다. 예를 들어 다음을 실행합니다 ls
.
cd /home/downloads; ls; bash
프로필의 "명령" 옵션에 다음을 추가할 수 있습니다.
얻지 못하는 이유는 rake
기본 경로에 있지 않기 때문입니다. 이를 사용하려면 경로를 지정해야 합니다. 따라서 먼저 터미널에서 다음 명령을 실행하십시오.
type rake
그러면 이와 같은 결과가 반환됩니다 /foo/bin/rake
.저것필요한 길입니다. 위의 사용자 정의 명령에 다음을 추가합니다.
cd /home/downloads; /foo/bin/rake; bash
별칭에는 작동하지 않습니다. 별칭은 쉘에 의해 설정되며 여기서는 사용할 수 없습니다. 해결책은 스크립트를 사용하는 것입니다. 따라서 다음과 같은 별칭이 있는 경우:
alias foo="command1 argument2"
스크립트를 작성하고 호출한 후 다음 내용으로 foo.sh
저장하세요 ./home/youruser/bin
#!/usr/bin/env bash
command1 argument2
실행 가능하게 만듭니다.
chmod a+x /home/username/bin/foo.sh
그런 다음 사용자 정의 명령 섹션에서 다음을 사용하십시오.
cd /home/downloads; /home/username/bin/foo.sh; bash
답변4
열린 터미네이터 창을 마우스 오른쪽 버튼으로 클릭하면 "기본 설정"을 선택할 수 있습니다. "프로필"을 선택한 다음 "명령" 탭을 선택합니다. "내 셸 대신 사용자 지정 명령 실행"이라는 확인란이 있습니다.
나는 이것이 당신이 찾고 있는 것이라고 믿습니다.