我想要做的是在一台机器上运行 shell 脚本“ABCDE”,但使用另一台机器来支持它。ABCDE 是一个集所有功能于一身的翻录器/编码器/标记器脚本,用于将 CD 转换为数字文件。我有一台机器,它的 CD 驱动器很快,但处理器很慢,另一台机器的处理器很快,但 CD 驱动器很慢。我在两台机器之间设置了 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 命令前其余的 shell 脚本。当然,由于 oggencoder 此时没有输入,它会给出错误消息,并且程序继续使用 /etc/abcde.conf 中的默认设置。
我尝试了“、'、、\”等任意数量的组合, \' , \
,但要么根本不起作用,要么过早执行了 oggencoder。
请让我知道我做错了什么,或者是否可以做到这一点。
答案1
请耐心等待,我已了解您的设置。
如果机器 A 是快速 CD 设备,机器 B 有快速处理器。
您似乎正在从机器 A 运行作业(靠近驱动器)。
您已经共享了文件空间,因此撕破
从 Machine-B 可以看到文件编码并且可能标签也。
现在您的问题是从机器 A 远程启动编码器操作。
ssh user@Machine-B exec /shared/path/encodeScript /shared/path/$filename
在哪里,
$filename
是要编码的文件,/shared/path
在机器上可见
应该在远程机器 B 上进行单独的文件编码。