답변:
gnome-terminal -e command
또는
xterm -e command
또는
konsole -e command
거의
terminal -e command
곤솔에는 --noclose
깃발이 있습니다.
xterm에는 -hold
플래그가 있습니다.
에서 gnome-terminal
,로 이동 편집 -> 프로필 환경 설정 -> 제목 . 명령 탭을 클릭 하십시오. 명령이 종료 될 때 레이블이 지정된 드롭 다운 메뉴에서 터미널 유지 를 선택하십시오 . 이를 위해 새로운 프로파일을 생성하고
gnome-terminal --window-with-profile = NAMEOFTHEPROFILE -e 명령
gnome-terminal -e command
command
인용 된 경우에만 작동합니다 . 따라서 이것은 작동하지 gnome-terminal -e "echo hello world; sleep 3"
않지만 다음과 같이 작동 gnome-terminal -e "bash -c 'echo hello world; sleep 3'"
합니다. 한숨.
; $SHELL
명령 끝에 추가하여 그놈 터미널을 열어 둘 수도 있습니다 . 예 :gnome-terminal --tab --title="test" --command="bash -c 'cd /etc; ls; $SHELL'"
대신 하드 코딩의 gnome-terminal
, konsole
등등, 대안 시스템을 사용합니다. 기본 터미널 에뮬레이터를 실행하는 프로그램은 다음과 같습니다.
x-terminal-emulator
내 시스템 에서이 명령을 실행할 때마다 새로운 Konsole 인스턴스가 열립니다.
운 좋게도 터미널은 -e
명령 실행 옵션 을 지원하는 것 같습니다 ( konsole
및 확인했습니다 gnome-terminal
). 명령 이후의 인수는 호출 된 명령으로 전달됩니다. Bash는 터미널에서 열린 상태를 유지하지 않기 위해 터미널을 얻으려면 추가 스크립트가 필요합니다.
#!/bin/sh
"$@"
exec "$SHELL"
이전 스크립트를 다른 이름으로 저장하고 /home/user/hacky
실행 가능하게 한 경우 다음을 사용하여 스크립트를 실행합니다.
x-terminal-emulator -e /home/user/hacky your-script optional arguments here
전체 경로가 필요 /home/user/hacky
하며 실행 가능해야합니다.
새 터미널 창에서 스크립트를 실행하려는 이전의 시도는 개정 # 2 에서 찾을 수 있습니다 x-terminal-emulator
. 인수가 전달 될 수 있다는 것을 깨달았습니다 .
bash
)을 실행 하거나 같은 줄을 가질 수있는 쉘을 호출하여이를 "수정"할 수 있습니다 read -p "Press Return to continue"
.
cd xxx && start.sh
. 해석기는 &&를 명령의 두 번째 부분 (논리적)으로 본다. 그러나 내가 인용하면, 모든 것을 하나의 큰 논쟁으로 실행하려고한다
아주 간단하게
#!/bin/bash
/etc/init.d/ccpd status
이것은 터미널에 아무것도 표시 할 필요가없는 다른 명령에 충분합니다. 그러나 여기에 상태가 표시되어야합니다.
따라서 터미널 창에서 실행 해야합니다.
#!/bin/bash
gnome-terminal -e "/etc/init.d/ccpd status" --window-with-profile=NAMEOFTHEPROFILE
다른 포스트 목적은 []
자리 표시 할 수
여기서 "NAMEOFTHEPROFILE"은 "명령이 종료 될 때 터미널을 보유"하는 프로파일의 이름으로 대체됩니다.
[]
했다 단지 자리를
--window-with-profile=NAMEOFTHEPROFILE
내가 준 것에 추가하면 됩니다
@nickguletskii의 답변 과 그의 답변 아래 내 자신의 의견에 도움이되고 @grabantot의 의견에 대한 찬성에서 영감을 얻었습니다. 특히 터미널을 열어두고 수동으로 사용할 수 있도록 할 때 특히 선호하는 방법입니다.
전의. 사용법 :이 스크립트는 시작 프로그램에 추가하여이 스크립트를 실행하고 터미널을 열고 터미널에서 탭을 만들고 이름을 지정한 다음 명령을 실행하는 데 매우 유용합니다. 또는이 스크립트에 대한 심볼릭 링크를 데스크탑에 추가 할 수 있습니다. 이 유형의 접근 방식을 사용하여 바탕 화면에서 단일 아이콘을 두 번 클릭하고 여러 터미널 (내가 수행 할 작업에 따라 다양한 탭이 있음) 및 설정할 프로그램을 열 수 있습니다. 예를 들어 일상적인 작업을위한 프로그래밍 환경.
다음은 하나의 탭을 열고 제목을 "test"로 한 다음 간단한 명령을 실행하는 고안된 예 cd /etc; ls
입니다. 마지막 $SHELL
부분은 쉘이 열린 상태를 유지하도록하여 출력을보고 계속 사용할 수 있습니다 (스택 오버플로에서 다른 곳에서 이것을 배웠습니다).
gnome-terminal --tab --title="test" --command="bash -c 'cd /etc; ls; $SHELL'"
다음은 동일한 그놈 터미널에서 3 개의 개별 탭을 여는보다 복잡한 예입니다. 이것은 바로 데스크탑 바로 가기가 수행하는 작업 유형이므로 한 번에 여러 프로그래밍 창을 열 수 있습니다.
gnome-terminal --tab --title="tab 1" --command="bash -c 'cd /etc; ls; $SHELL'" --tab --title="tab 2" --command="bash -c 'cd ~; ls; $SHELL'" --tab --title="tab 3" --command="bash -c 'cd ~/temp3; ls; $SHELL'"
위의 명령에 대한 분석은 다음과 같습니다.
gnome-terminal
= 그놈 터미널을 엽니 다--tab
= 다음에 오는 것에 대한 고유 한 탭을 엽니 다--title="tab 1"
=이 탭의 제목을 "탭 1"--command="bash -c 'cd /etc; ls; $SHELL'"
= bash -c 'cd /etc; ls; $SHELL'
예를 들어 방금 만든 명령 인 명령을 실행합니다 . 그것이하는 일은 다음과 같습니다.
bash -c
그것은 bash 'c'ommand라고 말합니다.cd /etc
= 'c'hange'd' irectory를 "/ etc"경로에ls
= 'l' i는이 디렉토리의 내용이 아닙니다$SHELL
=이 비밀스러운 tidbit는 쉘을 열어 놓아 작업 할 수 있도록하는 데 필요합니다. 쉘을 열려면 명령을 실행 한 다음 닫고 간단히이 부분을 제거하십시오. 그러나 프로그래밍 마법을 만들 수 있도록 탭을 열어두기를 원합니다. :)--tab
부품 에서 다시 시작 하여 탭 2를 생성 한 다음 다시 탭 3을 생성합니다. 마음의 내용에 맞게 사용자 정의하십시오.스크린 샷 :
Lekensteyn의 답변에 대한 논평. 나는 이것이 오래된 게시물이라는 것을 알고 있지만, (이 방금했던 것처럼)이 유용한 것을 발견 한 사람은 당신이 호출하는 스크립트 안에 함수를 넣어 다른 "해키 스크립트"를 만드는 대신
hacky_function()
{
"$@"
exec "$SHELL"
}
"x-terminal-emulator -e / path / to / script hacky_function optional arguments here"를 사용하여 스크립트를 호출하십시오.
스크립트 끝에 "$ @"를 넣는 것을 잊지 마십시오