Действия Nautilus только показывают, если файл в папке

Я хотел бы создать пару действий nautilus, которые будут отображаться только в том случае, если в папке находится определенный файл. Это действия с местоположением, простой пример того, что мне хотелось бы, - это опция «Make», которая запускает make в папке, но отображается только в том случае, если эта папка содержит make-файл. Возможно ли что-то подобное?

Я пытался играть с базовыми именами, но они, кажется, работают только для выбранных предметов. Я также изучил параметр «Среда выполнения» на панели «Среда». Возможно, я мог бы сделать это, используя опцию «Появляется, если команда выводит« true »», но я не могу понять, как передать путь к папке этой команде ».

1
задан 2 August 2014 в 06:14

1 ответ

Я смог решить это с большой игрой вокруг.

Первый я нашел, что стандартные переменные могут на самом деле быть переданы, 'Появляется, если выводы команды "истинная"' установка на вкладке Environment при помощи zenity для просмотра то, что это делало. Тот, которым мы интересуемся здесь, %f. Также стоящий замечания то, что команда должна произвести "верный" без новой строки к ее stdout, вместо того, чтобы просто использовать нулевой код возврата для значения верный.

я тогда пытался приписать следующую команду:

ls '%f' | grep -q 'Makefile' && echo -n 'true'

, Который должен хорошо работать, но кажется, что должна быть команда SINGLE в том поле, передача по каналу и & & не будет работать.

я закончил тем, что создал следующий сценарий, который я отметил как исполняемый файл и поместил в свой каталог bin

#!/bin/bash
# testexists

ls $1 | grep -q $2 && echo -n 'true'

Тогда, я поместил следующее в, 'Появляется, если выводы команды "истинное"' поле

testexists '%f' 'Makefile'

И все начали работать (например, мой делать команду только обнаруживается, если папка содержит Make-файл).

1
ответ дан 2 August 2014 в 06:14

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

Похожие вопросы: