Да, используйте запись CNAME . Точный синтаксис и детали будут зависеть от вашего программного обеспечения, но в основном вместо того, чтобы писать что-то вроде этого:
xx.abc.com. A 192.0.2.1
... вы напишите что-то вроде этого:
xx.abc.com. CNAME xx.def.com.
Если вы заранее знаете расширение (расширения) ваших пользовательских текстовых файлов, вы можете просто зарегистрировать новую запись MIME для них, в качестве обходного пути.
Например, если ваши файлы имеют расширение ".list":
Подготовьте файл дескриптора: zeppelin-list.xml
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/plain">
<comment>List file type</comment>
<glob pattern="*.list"/>
</mime-type>
</mime-info>
Зарегистрируйте новую MIME запись:
%xdg-mime install zeppelin-list.xml
Запрос:
%xdg-mime query filetype my.list
text/plain
xdg-mime
является основным компонентом среды рабочего стола, и вы не должны пытаться изменить его поведение. Я понимаю ваши опасения сломать критически важный сценарий, но если он дает разные результаты на рабочей машине и на тестовой машине, он уже сломан, и его нужно исправить. По сути,
file -b --mime-type <file>
является заменой
xdg-mime query filetype <file>
, и его изменение должно быть безболезненным, особенно если ваше предпочтительное поведение является выходом file -i
.
Команды xdg-*
зависят от среды рабочего стола, в которой вы работаете (помните, что префикс расшифровывается как X Desktop Group) и, в принципе, их вообще не следует использовать в скриптах, не предназначенных для взаимодействия с пользователем.
Если вы хотите иметь одинаковое поведение во всех системах, используйте такие команды, как file
, которые предназначены для того, чтобы вести себя всегда одинаково (OK, они могут быть различиями в небольших версиях, но это неизбежно).
Если вам нужно «наиболее разумное» поведение для каждой системы, используйте команды-оболочки, такие как xdg-mime
, и будьте готовы адаптироваться к их представлению о «наиболее разумном» в каждой системе.
Неправильно пытаться изменить каждую среду таким образом, чтобы зависящие от среды программы вели себя одинаково.