Перейти к содержанию

Пробелы в имени файла при передаче его приложению


ur6hdx

Рекомендуемые сообщения

Ubuntu 8.10

Есть проблема: медиаплеер vlc запускается со скрипта, имя вдеофайла передается ему из командной строки этого скрипта таким образом

vlc $@

или vlc file://$@

Имя передается нормально, но сам vlc разбивает его на части по пробелам и ругается на каждую из них, что такого файла не существует. Причем заключение имени файла в кавычки "file name" или 'file name' не помогает.

Если открывать такой файл с меню видеоплеера -- без проблем.

Если в оконном менеджере ( gnome ) в свойствах файла указать

приложение, которым его открывать, -- тоже открывается без проблем по щелчку мыши.

Отсюда вытекает еще такой вопрос: а как же тогда оконный менеджер передает медиаплееру имя файла ?

Переименовать файл не предлагайте - это не всегда реализуемо ( например, если он записан на CD/DVD )

Ссылка на комментарий
Поделиться на другие сайты

Aceler писал(а) Sat, 14 February 2009 12:28

Заключите имя файла в кавычки

Я ж написал в вопросе: "Причем заключение имени файла в кавычки "file name" или 'file name' не помогает." !!!

Конкретно делал так:

fname='"'$@'"'

vlc $fname --fullscreen

Не помогает ....

Ссылка на комментарий
Поделиться на другие сайты

allez писал(а) Sat, 14 February 2009 14:50

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

vlc "$fname" --fullscreen

Сделал так:

#!/bin/bash

......

vlc "file://$@" --fullscreen

Сработало. Проблема частично решена, т.к. выявилась другая проблема: если имя файла содержит два или более пробела подряд то при передаче имени через параметр $@ они урезаются до одного

Например, если запустить скрипт с параметром "file(несколько пробелов)name", то в $@ получим "file(один пробел)name"

Можно, конечно, заключить в кавычки параметр в комстроке скрипта,

но параметр этот передает ему оконный менеджер ...

Минутку, сейчас попробую ...

Похоже, он его таки заключает в кавычки -- запустился и с несколькими пробелами в имени Smile

Так что проблема решена. Спасибо !

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...