2016-10-14 8 views
-1

私はubuntuでプログラムを実行するはずのシェルスクリプトを持っています。私がダブルクリックすると、私は何をしたいか尋ねます:Ubuntuシェルスクリプト

端末で実行、表示、キャンセル、実行。

[端末で実行]を選択すると正常に動作します。しかしRunを押すと何も起こりません。どうして?

はここにスクリプトです:

#!/bin/bash 
rlwrap sicstus 
+1

https://askubuntu.comは素晴らしいサイト –

答えて

1

スクリプトはターミナルエミュレータを起動しません。

「端末で実行」を選択すると、端末エミュレータが起動され、実行可能ファイル/スクリプトが端末に接続されます。

「実行」だけを選択した場合、スクリプトは端末に接続されていないため、stdinから読み込みしようとします。

これはうまくいく可能性があります。「Run in terminal」または「Run」を選択しても問題ありません。

#!/bin/sh 

if [ -z "$TERM" ]; then 
    x-terminal-emulator -e "bash -c 'rlwrap sicstus; echo Press any key; read'" 
else 
    rlwrap sicstus 
fi 
+0

これは動作しません。実際に端末を開くのですが、すぐに終了します – Tirafesi

+0

'rlwrap sicstus'がインタラクティブでない場合、私が作った編集がうまくいくかもしれません。 –

+1

編集がうまくいった、ありがとう:D – Tirafesi

2

Run in terminal - 新しいターミナルウィンドウを開き、出力を見ることができるように与えられたアプリケーション/スクリプトを実行します。
Run - 指定されたアプリケーション/スクリプトをバックグラウンドで実行します。
スクリプトを実行しても出力が得られません。

+0

で、代わりにファイル名を指定して実行の端子にダブルクリックでデフォルトの動作を実行するようにする方法はありますか? – Tirafesi

+0

Nautilusを開き、[編集] - > [環境設定]に移動します。 [ビヘイビアを開く]タブを選択すると、実行可能なテキストファイルを開くときにファイルマネージャの動作を設定するオプションが表示されます。 – prophet1906

+0

これをシングルファイル用に設定する方法を知っている。別の質問をしてください。答えはこれに無関係です。 – prophet1906

関連する問題