Нечувствительность к регистру файловой системы OS X повреждает команду vlc

Похоже, вам действительно нужна команда a ppend. Используя Bash или любую оболочку, которая поддерживает $'\n'(, большинство делает):

sed $'/line2/a\\\n#this line was added by sed\n' file.txt

Или, что более читабельно, с помощью файла команд sed:

/line2/a\
#this line was added by sed

Чтобы показать полный метод:

$ cat file.txt 
line1
line2
line3
line4
$ cat sedfile 
/line2/a\
#this line was added by sed
$ sed -f sedfile file.txt 
line1
line2
#this line was added by sed
line3
line4
$ 
1
25.05.2016, 22:42
2 ответа

Согласно вики-странице VLC под названием "Командная строка":

В окне терминала введите

.../VLC. app/Contents/MacOS/VLC options

Причина, по которой я запутался, в том, что многие примеры запуска VLC, показанные в документации VLC, выглядят так:

vlc -I rc

Поэтому я предположил, что в терминале мне следует набрать vlc. Теперь, благодаря комментаторам на этой странице, я узнал, что хотя файловая система в OS X не чувствительна к регистру, внутренний код конкретных приложений, в данном случае VLC, действительно может быть чувствителен к регистру. В документации к VLC четко указано требование к его работе в OS X.

Правильный способ вызова удаленного интерфейса VLC из командной строки OS X следующий:

/Applications/VLC.app/Contents/MacOS/VLC -I rc

0
27.01.2020, 23:25

Это всего лишь предположение, но я подозреваю, что проблема имеет отношение к вызову приложений в Mac OS X и способу работы which. Как отмечали другие, файловая система - это то, что делает вещи нечувствительными к регистру. which немного туповат; он покажет вам, где находятся исполняемые двоичные файлы в пути выполнения вашей оболочки. По какой-то причине у вас там есть /Applications, но это не совсем правильно - многие приложения в OS X могут вызывать базовый двоичный файл в "пакете" .app приложения, но событие явно инициируется распознаванием системой связанных файлов .plist и тому подобных, которые составляют все приложение.

Поэтому, когда вы используете which, он показывает вам двоичный файл, который попытается выполнить ваш терминал, но при этом он оставляет без внимания все связанные с ним библиотеки приложений и файлы конфигурации, необходимые для его работы в вашей среде. Обратите внимание, что это не относится к командам в /usr/bin или чему-либо, созданному из MacPorts. В качестве альтернативы вы можете попробовать vlc (или Mplayer!) через внешнюю систему пакетов, но тогда вы, скорее всего, будете открывать его в X, а не использовать приложение.

Если вы хотите использовать любой пакет .app в командной строке в Mac OS X, я бы посоветовал вам следовать инструкциям, приведенным здесь, и использовать довольно универсальную команду Mac open.

3
27.01.2020, 23:25

Теги

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