Как запустить команды CLI из модуля запуска?

Я нажимаю клавишу ALT + F2 на клавиатуре и поднимаю панель запуска HUD. Оттуда я ввожу команду, как в оболочке, в частности vlc ~/Music/* -Z. Если это сделано из оболочки, vlc запускается и начинает воспроизводить музыку.

Однако, когда это делается из модуля запуска, VLC отвечает:

Сбой чтения файла:

VLC не может открыть файл "/ home / [имя пользователя] / Music / * ». (Нет такого файла или каталога) user Ваш вход не может быть открыт:

VLC не может открыть файл MRL: /// home / [username] / Music /% 2A '. Проверьте журнал для деталей.

Я не могу понять, в чем разница.

2
задан 16 June 2012 в 12:53

1 ответ

Кто-то еще указал на это, но затем удалил свой ответ, поэтому я добавлю его снова.

Причина, по которой эта конкретная команда терпит неудачу, заключается в том, что программа запуска не использует оболочку, что означает, что VLC буквально пытается загрузить файл с именем *, а не помещать звездочку в список файлов. .

Обходной путь - вместо этого вызывать оболочку, как отметил Эльмича в комментарии. sh -c "vlc ~/Music/* -Z" сделал бы это. Это, однако, не удается из-за ошибки, снова см. Комментарий elmichas.

В этом конкретном случае, поскольку VLC будет рекурсивно обходить каталоги, тот же результат может быть достигнут с помощью vlc ~/Music, который прекрасно работает без оболочки и намного проще.

0
ответ дан 16 June 2012 в 12:53

Другие вопросы по тегам:

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