
저는 Windows .bat 스크립트 작업에 능숙하며 스크립트를 개발할 때 일반적으로 일시 중지 명령을 사용하여 스크립트가 명령 프롬프트에서 실행되는 동안 내용을 단계별로 살펴볼 수 있습니다. Linux Bash 파일로 비슷한 작업을 수행하려고 합니다. 아래와 같이 매우 간단한 bash가 있습니다 ...
#!/bin/bash
echo Hello World!
read -p "Press [Enter] key to continue..."
"실행 파일을 두 번 클릭하면 실행"되도록 Nautilus(Linux 파일 관리 프로그램)를 구성했지만 스크립트를 두 번 클릭해도 아무것도 표시되지 않습니다. 출력을 콘솔 등으로 다시 라우팅해야 합니까?
편집하다
내가 원하는 것을 달성하는 방법은 다음과 같습니다.
- .sh 파일을 생성합니다. (저는 위의 파일을 사용했습니다.)
- 노틸러스 열기
- 편집->기본 설정->동작 탭을 클릭합니다.
- "실행 가능한 텍스트 파일"에서 "매번 묻기" 라디오 버튼을 선택하세요.
이제 .sh 파일을 클릭하면 몇 가지 옵션이 표시됩니다. "터미널에서 실행" 옵션이 바로 제가 원하는 것입니다. 귀하의 기여에 감사드립니다!
답변1
터미널을 시작해야 스크립트가 시작됩니다.
이 시도:
#!/bin/sh
xterm -e "echo Hello World; read -p 'Press [Enter] key to exit ..."
물론 이것은 더 긴 스크립트에는 실용적이지 않습니다. 하지만 그러면 간단하게 다음과 같이 할 수 있습니다.
#!/bin/sh
xterm -e /home/user/scripts/thescript.sh
thescript.sh
사용하려는 모든 명령을 포함하십시오 . 실행 가능한지 확인하십시오( chmod +x thescript.sh
).
답변2
스크립트와 상호 작용하려면 터미널이 필요합니다. 이를 수행하는 한 가지 방법은 @Sebastian입니다.제안. 그러나 bash 스크립트는 실제로 이런 방식으로 실행되도록 설계되지 않았습니다. 더 깔끔한 접근 방식은 .desktop
스크립트를 시작하는 파일을 작성한 다음 두 번 클릭하는 것입니다.저것. 그것은 다음과 같습니다:
[Desktop Entry]
Exec=/home/user/yourscript.sh
Terminal=true
Type=Application
이 파일을 폴더 foo.desktop
에 저장하세요 ~/Desktop
. 이제 아이콘으로 표시됩니다. 아이콘을 두 번 클릭하면 스크립트가 터미널에서 실행됩니다. 분명히 /home/user/yourscript.sh
스크립트의 실제 경로로 변경해야 합니다 .