Эти строки являются необработанным представлением специальных символов, которые Вы ввели (как дом, конец, стрелки, вкладка и т.д....).
Их неблагоприятным воздействием управляет команда, которую Вы выполняете, если это получит вход от терминала, то эти символы будут частью, он вводится.
Если это не берет вход от терминала, это не должно иметь никаких отрицательных эффектов ни на одну из разновидностей Unix, о которых я знаю.
Вы не должны даже загружать эти файлы до проигрывания их с mplayer
. От mplayer
страница справочника:
выборка
mplayer [options] [file|URL|playlist|-]
Таким образом, mplayer может играть URL непосредственно.
$ mplayer http://mymusic.store.com/musicfoo.mp3
Необходимо будет, вероятно, скорректировать значения кэша для получения mplayer
воспроизводить Ваше содержание гладко. Существует несколько переключателей к mplayer
это допускает это.
выборка из mplayer страницы справочника
-cache <kBytes>
This option specifies how much memory (in kBytes) to use
when precaching a file or URL. Especially useful on slow media.
-cache-min <percentage>
Playback will start when the cache has been filled up to
<percentage> of the total.
Таким образом, возможно, что-то вроде этого, Вы желание играть с этими значениями для получения гладких воспроизведений для ситуации.
$ mplayer -cache 8000 -cache-min 30 http://mymusic.store.com/musicfoo.mp3
Другой метод, обсужденный в некоторых из других ответов, должен использовать wget
загружать и затем играть файл. Свойственная проблема с этим подходом заставляет имя файла играть, после того, как файл будет сделан, загружая его.
завихрение передается по каналу к mplayer
С этим подходом существует на самом деле 2 метода в нем. Первое должно использовать wget
или curl
запустить загрузку и затем передать данные по каналу к mplayer
.
$ wget http://mymusic.store.com/musicfoo.mp3 -O - | mplayer -
Можно также кэшировать загрузку здесь как прежде:
$ wget http://mymusic.store.com/musicfoo.mp3 -O - | mplayer -cache 8192 -
1-е завихрение, затем mplayer
Другой метод должен загрузить файл и затем играть его. Вы могли использовать функцию Bash для обертывания этого, так как это теперь становится 2 процессами шага, где файл полностью загружается сначала и затем играется впоследствии.
$ function smplayer() { wget $@ && mplayer $(basename $@); }
Затем, чтобы сделать загрузку и игру Вы выполнили функцию как так:
$ smplayer http://mymusic.store.com/musicfoo.mp3
Попытка:
wget http://mymusic.store.com/musicfoo.mp3 && mplayer musicfoo.mp3
&&
означает, "после того как команда левой стороны успешно завершилась". Это предполагает, что команда левой стороны не разветвляет или использует нестандартные значения статуса выхода. Я сомневаюсь, что wget делает последнего, и, пока Вы не используете -b
переключатель, это не должно делать первого также.
Попробуйте это:
mkdir /tmp/download_$$
cd /tmp/download_$$
wget http://mymusic.store.com/musicfoo.mp3
mplayer *
У меня есть решение:
fpath=$(basename "$1")
wget $1
mplayer $fpath
Проблема с вышеупомянутым - то, что wget присвоит имя файла для загруженного файла (добавляющий a .1
к его концу), если имя файла уже существует. Следовательно значение fpath не является корректным файлом так сказать.