1

いくつかのTkダイアログを表示してから、argvで指定されたファイルを圧縮する単純なTCLスクリプトに取り組んでいます。「./scriptfile」を実行することで端末からは問題なく動作しますが、コマンドラインユーティリティのグラフィカルラッパーであるため、ファイルマネージャーの右クリックメニューから実行する必要があります。

それを/usr/ binにコピーし、ランダムファイル(パスにスペースを入れない)でCajaの[他のアプリケーションで開く...]オプションを使用し、使用するアプリケーションとしてスクリプトの名前を入力しました。この方法でファイルを開こうとすると、ダイアログもアーカイブもありませんでした。

ただし、「。/」を付けずにターミナルからスクリプトを再度実行しようとすると、それでも機能しました。

右クリックメニューからファイルに対してTCLスクリプトを実行し、プラットフォームに依存しないようにするには、何をする必要がありますか?

4

2 に答える 2

0

問題が Tcl なのかファイル マネージャなのかを判断することから始めることもできます。シェルスクリプトを書いて...

#!/bin/sh

exec rm -- "$@"

...実行可能にしてchmod +x、気にしないファイルの「他のアプリケーション」として使用してみてください。ファイルが消去されていない場合、Tcl に責任はありません。

于 2012-08-28T08:32:10.913 に答える
0

問題のスクリプトを修正しました。ダイアログが壊れた理由や現在動作している理由はわかりませんが、スクリプトの作業ディレクトリがファイル マネージャーによって自動的にホーム フォルダーに設定されたため、アーカイブが表示されなかったようです。

以下のコードは、スクリプトを正しいフォルダーに移動するために使用したものです。作業ディレクトリを、スクリプトが実行されているファイルを含むディレクトリに変更します。

cd [file dirname $argv]

これを設定すると、ほとんどの問題が解決したように見え、スクリプトの開発を続行できるようになりました。

于 2012-09-01T15:00:03.840 に答える