ur6hdx Опубликовано 14 февраля, 2009 Жалоба Поделиться Опубликовано 14 февраля, 2009 Ubuntu 8.10 Есть проблема: медиаплеер vlc запускается со скрипта, имя вдеофайла передается ему из командной строки этого скрипта таким образом vlc $@ или vlc file://$@ Имя передается нормально, но сам vlc разбивает его на части по пробелам и ругается на каждую из них, что такого файла не существует. Причем заключение имени файла в кавычки "file name" или 'file name' не помогает. Если открывать такой файл с меню видеоплеера -- без проблем. Если в оконном менеджере ( gnome ) в свойствах файла указать приложение, которым его открывать, -- тоже открывается без проблем по щелчку мыши. Отсюда вытекает еще такой вопрос: а как же тогда оконный менеджер передает медиаплееру имя файла ? Переименовать файл не предлагайте - это не всегда реализуемо ( например, если он записан на CD/DVD ) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Aceler Опубликовано 14 февраля, 2009 Жалоба Поделиться Опубликовано 14 февраля, 2009 Заключите имя файла в кавычки Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ur6hdx Опубликовано 14 февраля, 2009 Автор Жалоба Поделиться Опубликовано 14 февраля, 2009 Aceler писал(а) Sat, 14 February 2009 12:28 Заключите имя файла в кавычки Я ж написал в вопросе: "Причем заключение имени файла в кавычки "file name" или 'file name' не помогает." !!! Конкретно делал так: fname='"'$@'"' vlc $fname --fullscreen Не помогает .... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
allez Опубликовано 14 февраля, 2009 Жалоба Поделиться Опубликовано 14 февраля, 2009 Имя файла нужно заключать в кавычки также при передаче в качестве аргумента: vlc "$fname" --fullscreen Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ur6hdx Опубликовано 14 февраля, 2009 Автор Жалоба Поделиться Опубликовано 14 февраля, 2009 allez писал(а) Sat, 14 February 2009 14:50 Имя файла нужно заключать в кавычки также при передаче в качестве аргумента: vlc "$fname" --fullscreen Сделал так: #!/bin/bash ...... vlc "file://$@" --fullscreen Сработало. Проблема частично решена, т.к. выявилась другая проблема: если имя файла содержит два или более пробела подряд то при передаче имени через параметр $@ они урезаются до одного Например, если запустить скрипт с параметром "file(несколько пробелов)name", то в $@ получим "file(один пробел)name" Можно, конечно, заключить в кавычки параметр в комстроке скрипта, но параметр этот передает ему оконный менеджер ... Минутку, сейчас попробую ... Похоже, он его таки заключает в кавычки -- запустился и с несколькими пробелами в имени Так что проблема решена. Спасибо ! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.