Как запустить скрипт TCL для файлов из моего файлового менеджера?
Я работаю над простым сценарием TCL, который отображает несколько диалогов Tk, а затем сжимает файл, предоставленный argv. Он прекрасно работает с терминала, выполнив "./script file", но, поскольку это графическая оболочка для утилиты командной строки, я хочу, чтобы она запускалась из контекстного меню в файловом менеджере.
Я скопировал его в /usr/bin и использовал опцию Caja "Открыть с другим приложением..." для произвольного файла (без пробелов в пути) и ввел имя моего скрипта в качестве приложения для использования. Когда я пытался открыть файл таким образом, не было ни диалогов, ни архива.
Однако, когда я снова попытался запустить скрипт из терминала, без "./", он все равно заработал.
Что нужно сделать, чтобы запустить скрипт TCL для файла из контекстного меню и при этом оставаться независимым от платформы?
2 ответа
Я исправил сценарий, о котором идет речь. Я не знаю, почему диалоговые окна перестали работать или почему они сейчас работают, но архив явно не отображался, потому что файловый менеджер автоматически установил рабочую директорию скрипта в мою домашнюю папку.
Код ниже - это то, что я использовал, чтобы направить мой скрипт в нужную папку. Он меняет рабочий каталог на тот, который содержит файл, на котором выполняется скрипт.
cd [file dirname $argv]
После того, как я установил это, большинство моих проблем, казалось, было решено, и теперь я могу продолжить разработку своего сценария.
Может быть, вы могли бы начать с определения, Tcl или файловый менеджер является проблемой. Написать сценарий оболочки...
#!/bin/sh
exec rm -- "$@"
... сделать его исполняемым с chmod +x
и попытайтесь использовать его как "другое приложение" в файле, который вас не волнует. Если файл не удален, Tcl не виноват.