我正在尝试在我的bionicpup32-8.0上运行团队查看器
运行命令teamviewer
返回:
Init...
tee: unrecognized option: append
BusyBox v1.30.1 (2019-04-24 21:49:26 +08) multi-call binary.
Usage: tee [-ai] [FILE]...
Copy stdin to each FILE, and also to stdout
-a Append to the given FILEs, don't overwrite -i Ignore interrupt signals
(SIGINT) Checking setup... Launching TeamViewer ... Starting network process (no daemon)
Network process already started (or error) Launching TeamViewer GUI ...
我想这与tee
命令有关,运行该命令teamviewer
将运行该-append
选项,而我tee
接受该-a
选项。
无论如何:
覆盖我tee
的接受-append
?
- 或者 -
覆盖teamviewer
运行 -a 选项?
- 或者 -
还有其他方法可以解决这个问题吗?
这是包装脚本的工作。拿这个:
替换为操作系统
/full/path/to/real/tee
中真实路径的完整路径。tee
检查/bin/sh
shebang 中的路径是否正确sh
(ls /bin/sh
可能就足够了)。将脚本保存在比实际目录tee
更早的目录中。使脚本可执行 ( )。一种巧妙的方法是为包装器创建一个自定义目录;将包装器放在那里并修改变量,因此首先列出目录。PATH
tee
chmod +x tee
PATH
或者,您可以针对按需
PATH
的单次调用进行修改,如下所示:teamviewer
无论哪种方式,如果
PATH
是正确的,那么调用tee
将运行您的包装器。该方法内部teamviewer
将在以下条件下工作:tee
被调用为tee
,而不是路径名包含/
(换句话说:如果调用用于PATH
查找tee
);teamviewer
不覆盖PATH
自己。包装器相当简单。它将所有参数复制到一个新数组,但用
-append
or--append
替换-a
。最后它用 real 替换自己tee
,给它修改后的参数数组。你声称麻烦的选项是
-append
,但 GNUtee
支持--append
,所以我想它可能是--append
。包装器检测到两者。请注意,您要运行的工具可能需要
tee
另一个不可移植的选项。我的意思是unrecognized option
你可能指的是第一个无法识别的选项,这并不意味着所有后来的选项都被识别。包装器先发制人地转换--ignore-interrupts
为-i
您的tee
支持。您根本不支持的tee
支持选项的更复杂实现。tee
如果在内部使用了这样的选项,teamviewer
那么当前的包装器将无济于事。包装器可以很容易地修改,因此它删除了一些选项,但实现它们的实际功能通常是一项不平凡的任务(如果可能的话)。让我们希望包装器在您的情况下足够了。