Как запустить скрипт TCL для файлов из моего файлового менеджера?

Я работаю над простым сценарием TCL, который отображает несколько диалогов Tk, а затем сжимает файл, предоставленный argv. Он прекрасно работает с терминала, выполнив "./script file", но, поскольку это графическая оболочка для утилиты командной строки, я хочу, чтобы она запускалась из контекстного меню в файловом менеджере.

Я скопировал его в /usr/bin и использовал опцию Caja "Открыть с другим приложением..." для произвольного файла (без пробелов в пути) и ввел имя моего скрипта в качестве приложения для использования. Когда я пытался открыть файл таким образом, не было ни диалогов, ни архива.

Однако, когда я снова попытался запустить скрипт из терминала, без "./", он все равно заработал.

Что нужно сделать, чтобы запустить скрипт TCL для файла из контекстного меню и при этом оставаться независимым от платформы?

2 ответа

Решение

Я исправил сценарий, о котором идет речь. Я не знаю, почему диалоговые окна перестали работать или почему они сейчас работают, но архив явно не отображался, потому что файловый менеджер автоматически установил рабочую директорию скрипта в мою домашнюю папку.

Код ниже - это то, что я использовал, чтобы направить мой скрипт в нужную папку. Он меняет рабочий каталог на тот, который содержит файл, на котором выполняется скрипт.

cd [file dirname $argv]

После того, как я установил это, большинство моих проблем, казалось, было решено, и теперь я могу продолжить разработку своего сценария.

Может быть, вы могли бы начать с определения, Tcl или файловый менеджер является проблемой. Написать сценарий оболочки...

#!/bin/sh

exec rm -- "$@"

... сделать его исполняемым с chmod +x и попытайтесь использовать его как "другое приложение" в файле, который вас не волнует. Если файл не удален, Tcl не виноват.

Другие вопросы по тегам