2017-11-21 12 views
0

터미널 (예 : xfce4-terminal)에서 bash 스크립트를 실행하는 매크로 (예 : LibreOffice calc)를 만들려면 어떻게해야합니까? 예 :매크로 쉘에서 bash 스크립트를 실행하는 방법은 무엇입니까?

#!/bin/bash 
echo "Hello world" 
echo "Press any key to close this window" 
read 

나는 매크로 편집기에서 셸 명령을 시도했지만 아무 일도하지 않습니다. 다음은 내가 한 일입니다.

Sub testMysql 
Shell ("/mnt/save/janos/home/testbashsql",4) 
end Sub 

오류없이 컴파일되고 실행되지만 출력되지 않습니다. 부차적 인 질문 :이 문맥에서 "컴파일"이란 무엇을 의미합니까? 즉, 컴파일 된 코드는 어떻게됩니까? 저장 위치는 어디입니까? "컴파일"버튼이있는 이유는 무엇입니까? 매크로를 이해하는 데 도움을 주셔서 감사합니다.

답변

0

스크립트를 호출하면 쉘에서 스크립트가 실행됩니다. 결과를 보려면 스크립트는 stdout이 아닌 파일에 쓰기를해야합니다. LibreOffice는 stdout을 표시하지 않기 때문입니다.

터미널을 열려면 터미널에 전화하십시오. 이것은 내 시스템에서 효과가 있었다.

Shell("xterm") 

LO IDE의 컴파일 버튼에 대해서는 기본 코드에서 구문 오류를 확인하는 데 사용됩니다. 나는 컴파일 된 저장 코드를 모르고있다. 문서는 https://help.libreoffice.org/Basic/Compile입니다.

+0

감사합니다. 작동합니다. 나는 xterm이 내 xubuntu 16.04 배포판에서 사용 가능하다는 것을 몰랐다. Shell()의 인수로 xfce4-terminal을 고민하고있었습니다. 터미널을 필요로하는 이유는 내 bash 프로그램이 mysql에 연결된 Calc 내에서 mysql 명령을 수행하기 때문입니다. 큰 도움이됩니다! – Janos

+0

어떻게 작동하는지 깜빡 했군 :'Shell ("xterm -e/mnt/save/janos/home/testbashsql") – Janos

+0

다행이다. 그러나 Calc에서 일반적으로 MySQL에 액세스하는 방법은 LibreOffice Base를 통해 가능합니다. [여기] (https://stackoverflow.com/a/41913754/5100564)와 같은 매크로를 사용할 수도 있습니다. –