Есть ли способ открыть неработающие файлы прямо из CLI

2

Допустим, у меня есть файл без разрешения на исполнение. Теперь быстрый способ открыть такой файл CLI- использовать xdg-openсистемный параметр по умолчанию для открытия определенного файла.

Возможно ли теперь открывать файлы без разрешения на запуск напрямую без указания xdg-open?

Например:

./test.pdf

Затем следует открыть средство просмотра в случае, если этот файл не имеет разрешения на исключение.

magu_
источник
Я знаю, что с oh-my-zshтобой можно использовать ~/directoryаналогично cd ~/directory, так что ... возможно.
Теоден
Хм, да, может быть, это будет зависеть от используемого терминала. В этом случае было бы здорово получить ответ, работающий либо для gnome-терминала, либо для tcsh. Конечно, бонусные баллы за терминально-независимое решение. (Некоторое причудливое решение псевдонима, может быть, я не знаю, может быть)
magu_

Ответы:

1

Проще говоря; нет.

Файлы не запускаются, особенно файлы PDF. Самое близкое, что вы можете получить, это заменить xdg-open конкретным названием программы, которую вы хотите запустить:

evince ./file.pdf

Команда xdg-open упрощает это, хотя, используя настроенные типы MIME.

Пройдя немного дальше, скрипты bash работают так, потому что они содержат объявление shebang, которое сообщает системе, какую программу использовать для его открытия (для скриптов bash это будет интерпретатор bash). PDF-файлы не содержат эту информацию.

Адам
источник
1

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

Эта ссылка может быть не самой лучшей, потому что bashона не так проста, как вы хотите. Однако это упоминается preexecиз zsh. Моя точка зрения такова: в некоторых оболочках вы можете анализировать командную строку по-своему и выполнять свои собственные действия.

Камиль Мачоровски
источник
Я думаю, это то, что я искал. Я постараюсь сделать, если работа на этой неделе. Я думаю, что эта ссылка ( stackoverflow.com/questions/28099966/… ) также содержит соответствующую информацию для достижения этой цели.
magu_