nixp.ru v3.0

23 октября 2017,
понедельник,
09:23:04 MSK

DevOps с компанией «Флант»
kamagan написал 5 декабря 2010 года в 00:39 (1140 просмотров) Ведет себя неопределенно; открыл 2 темы в форуме, оставил 8 комментариев на сайте.

Здравствуйте.

Задался я целью упростить себе жизнь, так вот суть вот в чём. Любой файл можно открыть с помощью любой программы, через диалог «Открыть с помощью». Так вот а как таким же манером передать файл на обработку bash-скрипту? Т.е. при вызове через «открыть с помощью», выбираем нужный скрипт, и соответственно полный путь к файлу каким-то образом должен передаваться скрипту, вот только как?

Использую я KDE 4.

Дмитрий Шурупов

Полный путь будет по умолчанию передан первым аргументом к скрипту, разве нет? :-) (В таком случае брать его прямо в $1.)

kamagan

Спасибо.

echo $1 действительно возвращает путь к файлу.

Ещё вопрос. Если с помощью скрипта открывать файл расположенный на smb-шаре, тогда скрипт не начинает работать до тех пор пока не загрузит файл, можно ли этого как-то избежать. Т.е. мне нужно с помощью скрипта открыть файл, который в том числе может быть расположен на сетевой шаре, и в зависимости например от того где файл расположен передать его на обработку той или иной программе.

Дмитрий Шурупов

Можно ли с SMB работать по-другому (начинать «обработку» файла до его полной загрузки на клиентский компьютер), я не знаю…

Чем не нравится вариант с проверкой по пути файла, где он находится (на smb или локально), и его «открытием» уже после этого? Как сделать эту проверку, вам должно быть виднее: например, если речь идет о скрипте для конкретной машины с конкретными путями, то можно тупо указать список путей к SMB-шарам в каком-нибудь массиве и так проверять. Иначе можно получать эту информацию, скажем, из вывода mount. О специальных средствах для этого лично я не в курсе.

kamagan

В предыдущем своём посте я уже говорил, что скрипт начинает работать только после полной загрузки файла (может немного невнятно выразился), т.е.  проверить путь к файлу можно тоже только после его загрузки.

Дмитрий Шурупов

Я не понимаю, почему скрипт начинает работать только после загрузки файла.

Если есть некий файл /mnt/share/a.doc и скрипт, который примет в качестве аргумента путь к этому файлу (/mnt/share/a.doc), то при вызове этого скрипта загрузка файла будет осуществляться только в случае, если вы явно этого требуете в самом скрипте (и только в тот момент, когда вы этого потребуете).

Или я не понял задачу/ситуацию…

rgo

Я предполагаю, что дело в программе, которой просматривается шара.