.shファイルをダブルクリックして実行します

.shファイルをダブルクリックして実行します

GUI:
sh ファイルの権限を変更して、読み取り、書き込み、実行ができるようにしました。ダブルクリックして、シェル/ターミナル (英語で表示されるもの) で実行を選択しましたが、実行されませんでした。ダブルクリックして実行を選択しましたが、実行されませんでした。

コマンドライン:
bash *filename*実行する
sh *filename*実行する

ファイルの内容は次のとおりです。

#!/bin/bash

# get dirsyncpro home
DIRSYNCPRO_HOME="$(dirname $0)"

# start programm and pass any parameters
java -Xmx512M -jar "$DIRSYNCPRO_HOME/dirsyncpro.jar" $* 

この人のコンピューターで動作します:

http://www.knowliz.com/2008/08/how-to-installrun-sh-file-in-linux.html

どうしたの?

答え1

テストが間違っています。最初に別のシェルを呼び出さずにテストを実行できる必要があります。

./my_little_script.sh

そして

bash my_little_script.sh

また、権限が実際に正しいかどうかを再確認してください。

chmod 755 my_little_script.sh

答え2

問題は、シェル スクリプトをダブルクリックして実行しようとすると、システムがデフォルトでそれをホーム ディレクトリで実行することです。

ラインに到着したら

# start programm and pass any parameters
java -Xmx512M -jar "$DIRSYNCPRO_HOME/dirsyncpro.jar" $* 

フォルダーDIRSYNCPRO_HOMEは期待したフォルダーではなく、jar ファイルが見つからないため、アプリケーションはサイレントに停止します。 の値をハードコードすると、DIRSYNPRO_HOMEダブルクリックしてシェル スクリプトを実行できると思います。

答え3

Ubuntu では、「ターミナル」は実際には存在しません。私のインストール (9.10) では、次のようになります。

プログラム「ターミナル」は現在インストールされていません。次のように入力してインストールできます: sudo apt-get install terminal.app ターミナル: コマンドが見つかりません

それがあなたに当てはまるかどうかはわかりませんが、当てはまる場合は、選択を「Termianl」から「gnome-terminal」に変更してみてください。

答え4

dirsyncpro の readme には、Windows 以外のすべてのオペレーティング システムではコマンド ラインで実行する必要があると記載されています。jar ファイルの実行は避けていましたが、他に方法がありません。

関連情報