Я пытаюсь запустить сценарий оболочки ABCDE на одном компьютере, но использовать другой компьютер для его поддержки. ABCDE - это универсальный скрипт-риппер / кодировщик / теггер для преобразования компакт-дисков в цифровые файлы. У меня есть одна машина с быстрым приводом компакт-дисков, но с медленным процессором, и другая машина с быстрым процессором, но медленным приводом компакт-дисков. Я установил SSH-туннелирование между ними, а также SSH-fs, поэтому скопированные файлы могут использоваться обеими машинами.
В моем домашнем каталоге есть файл конфигурации, который позволяет мне установить путь кодировщика. Вот важные строки (есть и другие, касающиеся расположения CD-привода, изменения формата вывода и т. Д.):
OGGENCODERSYNTAX=oggenc # Specify encoder for Ogg Vorbis
OGGENC=/usr/bin/oggenc # Path to Ogg Vorbis encoder
OGGENCOPTS='-q 6' # Options for Ogg Vorbis
OUTPUTTYPE="ogg" # Type of file to create
Когда я пытаюсь указать сценарию, что путь к кодировщику находится в другом месте, у меня возникают проблемы.
Например:
OGGENC=`ssh WWW.XXX.YYY.ZZZ /usr/bin/oggenc`
Запускает команду oggenc перед остальная часть сценария оболочки. И, конечно же, поскольку в этот момент oggencoder не имеет ввода, он выдает сообщение об ошибке, и программа переходит к использованию настройки по умолчанию из /etc/abcde.conf.
Я пробовал любое количество комбинаций ",", , \' , \
, \ "и т. д., но либо он вообще не работает, либо запускает oggencoder слишком рано.
Пожалуйста, дайте мне знать, что я делаю не так и можно ли вообще это сделать.
Потерпите меня, поскольку я понимаю вашу установку.
Если Машина-A является устройством быстрой записи компакт-дисков, а Машина-B имеет быстрый процессор.
Кажется, вы выполняете задание с машины A (чтобы быть ближе к приводу).
Вы разделили файловое пространство таким образом, что разорванный файлы
видно из Машины-B, чтобы быть закодированный и вероятно отмечен слишком.
Теперь ваша проблема состоит в том, чтобы запустить кодировщик удаленно с Machine-A.
ssh user@Machine-B exec /shared/path/encodeScript /shared/path/$filename
Куда,
$filename
файл для кодирования и /shared/path
виден через машины должен выполнять кодирование отдельных файлов на удаленной машине-B.