Открытие файла PDF путем введения его имени

Для обслуживания файлов к машинам Windows Вам нужен Samba.

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

Отказ от ответственности: У меня нет действительно знания о предмете. Я ни не установил, ни управлял любым сервером Samba.

Править:

Это, кажется, основная документация Самб: http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/index.html

Samba имеет модуль PAM для обеспечения данных для входа для Linux. http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/winbind.html http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/pam.html

5
14.06.2012, 00:09
3 ответа

Существует способ добавить эту функцию к bash.

Когда Вы попытаетесь "работать", удар файла испустит command not found ошибка:

$ 1.pdf
bash: 1.pdf: command not found

После этого это также испустит ERR "сигнал". Используя здание trap можно поймать этот тип сигнала и определить функцию, которая обработает ошибку.

На той странице можно найти сценарий, который обработает ту ошибку (чтение также объяснение).

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

После ловли ERR это проверяет код ошибки последней команды. Если это - ошибка 2, 126, или 127 это продолжится. На следующем шаге это проверит последнюю команду и разделит его на часть команды и аргументы.

Сначала if..fi "обработайте возможные ошибки при вовлечении упущения ведущей наклонной черты", таким образом, можно удалить его.

На просьбе затем if оператор там является проверкой, если Ваша команда является каталогом, таким образом, это также могло быть удалено. Более интересный вторая часть этого if - сценарий проверяет тип файла, и распечатайте некоторые предложения, как открыть тот тип файла. Вместо этого можно просто поместить что-то как open $cmd или APPLICATION_TO_OPEN_PDF $cmd (конечно, необходимо добавить проверку, если файлом является PDF).

Примечание по безопасности:: Если Вы хотите использовать ту функцию, необходимо скорее использовать APPLICATION_TO_OPEN_PDF $cmd чем open $cmd. Необходимо также установить действие для определенных типов файлов и не открытое использование или должностное лицо на всем типе файлов, чтобы не запускать некоторый злонамеренный скрипт или что-то как этот.


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

Вы могли переопределить функцию command_not_found_handle() и помещенный там, который проверяет и opens. Это вызовет это не будет никаких сообщений об ошибках, но я не уверен, что это сделает с кодами ошибок и сообщениями в случаях, что Вы не хотите обрабатывать.

8
27.01.2020, 20:32
  • 1
    Интересное решение.. Был бы это требовать, чтобы команда выполнялась, сопровождалась command not found сообщение об ошибке каждый раз? –   14.06.2012, 00:46
  • 2
    я не уверен, мог ли он быть сделан, но я добавил второе решение своего ответа. Лично я пошел бы с первым решением и сообщением об ошибке, отображенным в терминале перед вводной программой. –  pbm 14.06.2012, 01:09
  • 3
    На самом деле второе кажется более вдохновляющим мне :) Но я испытаю его, после того как я бодрствую (снова) –  topskip 14.06.2012, 01:14
  • 4
    Можно хотеть проверить command-not-found пакет из Ubuntu, которая делает интенсивное использование из этой функции. –  pbm 14.06.2012, 01:16
  • 5
    commad_not_fund_handle хорошо работает на моей машине человечности, но не на моем Mac (оба удара 4). Я займусь расследованиями далее. Но кажется, как будто это - то, что я искал. Иначе я буду использовать Ваше другое решение.Спасибо! –  topskip 14.06.2012, 11:42

В zsh определите суффиксный псевдоним в Вашем .zshrc:

alias -s pdf=open

Zsh обычно имеет лучшие интерактивные функции и лучшие функции программирования, чем удар. Это было поставлено с  Mac OS X по крайней мере начиная с 10,4.

6
27.01.2020, 20:32
  • 1
    Ну, однажды я должен действительно думать о взятии некоторого свободного времени и испытать его. Thans для указания на него! –  topskip 14.06.2012, 09:41

Я предполагаю, что Вы могли создать псевдоним для open имя: o и затем введите

 o myfile.pdf

хотя я' не знаю, сохраняет ли это Вас такое усилие от ввода open :-) Имя файла должно будет быть указано в любом случае.

Таким образом для псевдонима:

alias o="open"

должен войти в Ваш ~/.bashrc file

1
27.01.2020, 20:32
  • 1
    Именно это я уже имею (и использование), но я действительно хотел бы ввести имя файла только. –  topskip 14.06.2012, 00:07
  • 2
    @Patrick, Возможно, кто-то знает, что прием имеет командный процессор, фильтрует вход и распознает, что кто-то дал название файла и действия на нем, а не допустимой команды, но это звучит хитрым (я буду любопытен и смотреть, чтобы видеть, придумывает ли кто-либо что-нибудь), и добавил бы немного служебные. Я думаю различие между file.pdf и o file.pdf учитывая то, как легкий это должно реализовать, мог быть в порядке, но это - решение, только можно сделать, конечно. –  Levon 14.06.2012, 00:09
  • 3
    Мой вопрос главным образом мотивирован путем изучения, возможно ли это, для не сохранения двух нажатий клавиш. –  topskip 14.06.2012, 00:15
  • 4
    @Patrick я понимаю.. Я видел Ваше обновление выше. Мне будет любопытно видеть что, если какие-либо решения появятся для этого также. –  Levon 14.06.2012, 00:17

Теги

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