내 bash 스크립트가 실행될 때 콘솔 창을 표시하지 않습니다.

내 bash 스크립트가 실행될 때 콘솔 창을 표시하지 않습니다.

사용자의 입력을 받아들이는 bash 스크립트를 만들었습니다.

#!/bin/bash
# mnthere - mounts virtual box share in current working directory
echo Enter the source share name:
readline NAME
sudo -- mount -t vboxsf -o rw,uid=1000,gid=1000 $NAME $0

하지만 두 번 클릭해도 아무 일도 일어나지 않습니다. 백그라운드에서 실행되며 오류로 인해 실패할 수 있습니다. 이 창을 표시하도록 구성해야 합니다. 어떻게 해야 합니까? 이것이 내가 사용하고 있는 XFCE4 데스크탑 환경과 관련이 있습니까?

답변1

런처를 수정하고 싶지 않은 경우 스크립트 시작 부분에서 터미널에서 실행 중인지 확인할 수 있습니다. 그렇지 않은 경우 터미널을 열고 거기서 스크립트를 다시 시작하세요. 스크립트 상단에서:

if [ ! -t 1 ]; then
    args=''
    for arg in "$@"; do
        args="$args \"${arg//\"/\\\"}\""
    done
    xfce4-terminal -e "$0 $args"
    exit 0
fi

그런 다음 사용자에게 표시하려는 터미널 출력이 있으면 맨 아래에 추가합니다.

read -n1 -u1 -rp 'Press any key to close this window.'

답변2

스크립트를 실행하는 대신 xterm을 시작하여 스크립트를 실행하고 read출력을 중지하고 읽을 수 있는 명령을 추가하십시오.

gnome-terminal -x your_script

답변3

실행 프로그램을 편집하는 경우(마우스 오른쪽 버튼을 클릭하고 속성을 선택한 후 편집 버튼을 클릭) "터미널에서 실행" 확인란이 옵션 중 하나가 됩니다.

확인해 보세요. 이제 스크립트가 터미널에서 실행됩니다.

관련 정보