私の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.'

おすすめ記事