Смонтирует поиск fstab для лучшего соответствия?

dumpdef записывает список макросов с их определением в файл. В standard m4 этот файл является стандартной ошибкой, поэтому единственный способ получить его - это перенаправление, внешнее по отношению к сценарию m4. GNU m4 предоставляет макрос debugfile для перенаправления выходных данных в файл, который может быть считан с помощью input , но нельзя полагаться на конкретную реализацию m4 в autoconf.

Даже если вам удастся удержаться на выходе из dumpdef , формат вывода не указан. Для разбиения последовательности на строки можно использовать index и substr , но это предполагает, что реализация распечатывает один макрос на строку, что не гарантируется; кроме того, значения макросов могут содержать новые строки. В GNU m4 вывод неоднозначен: нельзя отличить

define(`foo', `hello')
define(`fooo', `world')

от

 define(`foo', `hello
 fooo:   world')

При условии, что реализация m4 печатает один макрос на строку и следует за именем двоеточием, можно собрать потенциальные имена макросов в этом пути и использовать ifdef для проверки того, действительно ли они являются именами макросов. Но вы находитесь во власти реализации, которая не использует тот же отладочный формат печати.

Лучший способ решить проблему, вероятно, вне m4.

-121--186499-

Если используется zsh , можно воспользоваться преимуществами функции MULTIOS , т.е. полностью избавиться от команды tee :

uname >file1 >file2

просто запишет выходные данные uname в два разных файла: file1 и file2 , что эквивалентно uname | tee file1 > file2

Аналогичным образом перенаправление стандартных входных данных

wc -l 

эквивалентно cat file1 file2 | wc -l (обратите внимание, что это не то же самое, что wc -l file1 file2 , более поздний подсчет

Конечно, вы также можете использовать MULTIOS для перенаправления вывода не в файлы, а в другие процессы, используя подстановку процессов, например:

echo abc > >(grep -o a) > >(tr b x) > >(sed 's/c/y/')

-121--932-

Выглядит как dts-wav. Многие из этих файлов имеют идентификатор формата заголовка, который предполагает PCM, но фактическим потоком байтов является DTS. Это объясняет выходные данные soxi.

Если установлена последняя версия (2007 или более поздняя) ffmpeg/libavcodec, mplayer должен быть способен обнаружить это и использовать соответствующий кодек, отличный от PCM.

Вывод VLC подразумевает наличие DTS с конфигурацией 5.1 (6 каналов).

0
05.08.2014, 01:31
2 ответа

Насколько я знаю, гора не сканирует мимо первой спички. Одна вещь, которую вы можете сделать (стоит ли это учитывать?) - это установить правила udev, которые создают одну и ту же симлинк для всех ваших NTFS дисков под /dev ... тогда одна строка в fstab сделает для любого/всех из них.

.
1
28.01.2020, 02:37

Не знаю, какую операционную систему вы используете; но лучшая практика FreeBSD в этом отношении - использовать glabel для прикрепления метки к файловой системе. Затем эти метки появляются как /dev/ufs/[метка], и вы используете их в вашей спецификации fstab. Например, если это USB-устройства, и все они настроены автоконфигурацией в соответствии с /dev/ad0s0a, /dev/ad2s0a и /dev/ad3s0a, вы можете использовать их метки вместо них:

/dev/ufs/gerbil0    /gerbil            ufs     rw              2      2
/dev/ufs/gerbil1    /gerbil            ufs     rw              2      2
/dev/ufs/gerbil2    /gerbil            ufs     rw              2      2

или

/dev/ufs/gerbil0    /someplace         ufs     rw              2      2
/dev/ufs/gerbil1    /anotherPlace      ufs     rw              2      2
/dev/ufs/gerbil2    /yetanotherPlace   ufs     rw              2      2
1
28.01.2020, 02:37

Теги

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