【问题标题】:compress files in bash using screen and setting compression level使用屏幕压缩 bash 中的文件并设置压缩级别
【发布时间】:2015-03-16 16:38:52
【问题描述】:

我想使用 tar、xz 压缩一个大文件夹并使用 screen 来获取详细输出。

没有屏幕,命令是:

$ XZ_OPT=-9 tar cJfv mydirectory.tar.xz mydirectory

现在有了屏幕,我得到的只是[屏幕正在终止],我假设是因为 XZ_OPT 环境变量

$ screen -L XZ_OPT=-9 tar cJfv mydirectory.tar.xz mydirectory

我在下面尝试了以下操作,它生成了一个 tar.xz 文件,该文件的大小随着时间的推移而增加,但屏幕没有显示任何输出,尽管 tar 有 v 标志,我想拥有

$ screen -L $(XZ_OPT=-9 tar cJfv mydirectory.tar.xz mydirectory)

如何让 tar 的输出也显示出来?

【问题讨论】:

  • $() 尝试在子 shell 中运行 tar,然后将其输出放在 screen 命令的命令行中。尝试在screen 命令本身上设置XZ_OPT XZ_OPT=-9 screen ....?

标签: linux bash unix gnu-screen


【解决方案1】:

事实上,如果原始命令的问题在于 shell 分配(很可能是因为这是一个 shell 功能,而 screen 并没有预料到那个时候,那么一个可能的解决方案是设置screen 本身的环境中的变量,并让它“渗入”tar 命令的环境。

XZ_OPT=-9 screen -L tar cJfv mydirectory.tar.xz mydirectory

如果由于某种原因这不起作用(或不能使用,因为它需要仅限于该特定命令(而不是可能打开的其他屏幕生成的 shell),然后运行一个 shell 脚本可能是唯一的答案。

【讨论】:

    猜你喜欢
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    相关资源
    最近更新 更多