터미널을 열고 변수 세트를 입력하는 명령을 실행하고 싶습니다.
어떻게 해야 하나요? xfce4 터미널을 사용하고 있습니다. 터미널을 열 때 명령을 실행하는 데 사용되는 명령줄 매개변수 "--command"가 있습니다. 그러나 arg는 소스 명령의 실행을 허용하지 않는 것 같습니다.
예를 들어:
소스 환경 변수를 통해 터미널을 열려면 터미널의 --command 플래그를 사용하세요.
xfce4-terminal \
--command 'source somefile' \
--hold &
하지만 오류가 발생합니다. '소스' 하위 프로세스를 실행할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.
이것은 xfce4-terminal에 대한 희박한 맨페이지를 읽은 후 자연스럽게 시도하게 될 것입니다.
파일을 얻기 위해 새 터미널에서 bash를 구체적으로 호출하는 것은 어떻습니까?
xfce4-terminal \
--command 'bash -c "source somefile \
--hold &
그러면 source 명령이 실행되지만 완료되면 터미널이 종료됩니다.
포럼을 검색하고 bash 명령 소스를 실행하려면 bash를 호출해야 한다는 것을 확인한 후 이것을 시도해 볼 수 있습니다. (그게 무엇입니까? bash 인스턴스로 터미널을 시작하여 다른 bash를 호출하여 명령을 실행합니다)
bash, bash에서는 터미널에서 bash를 호출하여 명령을 실행합니다.
xfce4-terminal \
--command 'bash -c "source somefile; bash"' \
--hold &
이렇게 하면 터미널이 열리고 열린 상태로 유지되지만 소스 환경은 제외됩니다.
어리석은 것 같지만 포럼을 검색한 후 다른 방법을 시도해 볼 수 있습니다.
bash를 사용하여 소스 환경에서 bash 호출
xfce4-terminal \
--command 'bash -c "bash -c \"source somefile; some_command\""' \
--hold &
이는 새 터미널에서 새 환경을 가져오지만 소스 cmd 실행이 완료되면 다시 닫힙니다.(일부 추측일 뿐)
bash를 호출하고 "source somefile"을 실행하는 source_somefile이라는 스크립트를 만듭니다.
xfce4-terminal \
--command 'source_somefile' \
--hold &
습관. 소스 cmd 실행이 완료되면 터미널이 다시 닫힙니다.
이것이 확실히 작동할 것이라고 생각한다고 비난할 수는 없지만 소스 cmd를 스크립트에 넣고 --command 플래그와 함께 터미널을 사용하여 스크립트를 실행하면 --hold 플래그를 사용하여 터미널이 작동하지 않도록 할 수도 있습니다. 소스 명령이 구현을 완료하면 종료하시겠습니까?
bash -c 'source somefile'? 스크립트를 실행해 보세요.
아니요: 소스 cmd 실행이 완료된 후 터미널이 다시 닫힙니다.
그래서 뭐할 수 있는xfce4-terminal 맨페이지를 인쇄하고 추석 달 아래 피의 의식에서 이를 태우는 것 외에 이 작업을 수행해야 합니까? 그럼 으르렁... 으르렁...
답변1
먼저 소스 코드를 얻은 다음 터미널을 엽니다(저는 .
bash에 특화된 것이 아닌 휴대용 터미널을 사용하고 있습니다 source
).
. source_somefile && xfce4-terminal
터미널은 원본 환경을 상속받습니다. 예를 들어, 다음이 있는 경우:
$ cat /home/terdon/file
export my_var="foo"
그런 다음 다음과 같은 별칭을 만듭니다.
alias my_profile='. /home/terdon/file && xfce4-terminal'
echo $my_var
그런 다음 별칭을 실행하면 인쇄 할 새 터미널이 열립니다 foo
. export
이를 위해 변수를 편집해야 하며 가져오는 파일의 전체 경로를 사용해야 합니다.
답변2
나는 보았다여기가능한 해결책. --disable-server
결국 플래그를 사용하는 것이 작동 할 수도 있습니다 .