사용자의 입력을 받아들이는 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
실행 프로그램을 편집하는 경우(마우스 오른쪽 버튼을 클릭하고 속성을 선택한 후 편집 버튼을 클릭) "터미널에서 실행" 확인란이 옵션 중 하나가 됩니다.
확인해 보세요. 이제 스크립트가 터미널에서 실행됩니다.