我想使用 tar、xz 压缩一个大文件夹,并使用 screen 来获得详细的输出。
没有 screen ,命令是:
$ XZ_OPT=-9 tar cJfv mydirectory.tar.xz mydirectory
现在有了 screen ,我得到的只是一个[ screen 正在终止],我假设是因为 XZ_OPT 环境变量
$ screen -L XZ_OPT=-9 tar cJfv mydirectory.tar.xz mydirectory
我在下面尝试了以下操作,它生成了一个 tar.xz 文件,它的大小随着时间的推移而增加,但是 screen 没有显示任何输出,尽管 tar 有 v 标志,我想要
$ screen -L $(XZ_OPT=-9 tar cJfv mydirectory.tar.xz mydirectory)
如何同时显示 tar 的输出?
最佳答案
如果,事实上,原始命令的问题是 shell 分配(很可能是因为这是一个 shell 功能,而 screen
并不期望在那个时候出现,那么一个可能的解决方案将在 screen
本身的环境中设置变量,并让它“渗透”到 tar
命令的环境中。
XZ_OPT=-9 screen -L tar cJfv mydirectory.tar.xz mydirectory
如果由于某种原因这不起作用(或者不能使用,因为它需要仅限于该特定命令(而不是其他可能打开的 screen 生成的 shell),那么运行一个 shell 脚本可能是唯一的答案。
关于linux - 使用 screen 和设置压缩级别在 bash 中压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29082249/