여러 개의 터미널 탭을 열고 제목을 지정하고 디렉토리로 이동하여 각 탭을 명령으로 실행해야합니다.
나는 리눅스와 쉘 스크립팅을 처음 접 했고 온라인으로 검색하고 일부 솔루션을 확인한 후이 스크립트를 만들었습니다 ( 아래 답변을 기반으로 EDITED ).
#!/bin/bash
cd /media/Extra/Project
tab=" --tab-with-profile=Default"
options=(--tab --title=Terminal)
cmds[1]="'rails s'"
titles[1]="Server"
cmds[2]="'rails c'"
titles[2]="Console"
for i in 1 2; do
options+=($tab --title="${titles[i]}" -e "bash -c \"${cmds[i]} ; bash\"" )
done
gnome-terminal "${options[@]}"
exit 0
탭을 열고 이름을 지정하지만이 오류를 생성하는 명령을 실행하지 못합니다.
이 터미널에 대한 자식 프로세스를 만드는 중 오류가 발생했습니다
또 다른 단점은 실행중인 명령을 중단하면 원하지 않는 탭을 닫는 것입니다. 명령을 중지하고 동일한 탭에서 다시 실행할 수 있어야합니다.
스크립트에 어떤 문제가 있습니까? 다른 간단한 방법이 있습니까?
참고 : 명령에서 (-e "\"bash -c $ {cmds [i]}; bash \ "") 부분을 제거한 경우 지정된 디렉토리에서 탭을 열고 오류없이 이름을 지정합니다.
편집 -1 :
아래 @Tuknutx 응답을 적용하고 스크립트를 편집 한 후 오류가 더 이상 나타나지 않지만, 저를 제공 bash: rails c: command not found
하고 rails s
이 폴더에 액세스하면, 나는 gemset을 선택 .rmvrc 사용하고 새로운 레일은 레일 서버를 시작하는 대신되는 앱 생성 .
cmds[1]="'ping 192.168.9.9'"
같은 오류가 발생하지만 작은 따옴표를 제거하여 해결했습니다. 그래서 내가 쓴다면 cmds[1]="ping 192.168.9.9"
작동합니다.
tab=" --tab-with-profile=Default"
??