シェル スクリプトでターミナルが開かないのはなぜですか?

シェル スクリプトでターミナルが開かないのはなぜですか?

すべての bash スクリプト (常に実行権限を与えている) は、Konsole を開かなくても動作します。

それで、私がスクリプトを作成した場合:

#!/bin/bash
mkdir t

ダブルクリックすると、「t」という新しいディレクトリが見つかります。そして、そこには「sudo」を含まないすべてのスクリプトがあります。

でも私が書くと

#!/bin/bash
sudo apt-get install vlc -y

#or any othe script with "sudo"

スクリプトは動作しません。"sudo" を使用するためのパスワードを要求するシェルが開きません。また、vlc もインストールされません。

ターミナルを使用して実行した場合にのみ機能しますが、ダブルクリックしたときに機能するスクリプトが必要です。

どのようにできるのか?

答え1

スクリプトからターミナルを実行します。

#!/bin/bash
xterm -e sudo apt-get install vlc -y

他の端末では、コマンドを実行する方法が と異なる場合があります-e

関連情報