【问题标题】:dpkg postinst mkdir -p /var/{cache, run, doc} doesn't work as excepteddpkg postinst mkdir -p /var/{cache, run, doc} 不能正常工作
【发布时间】:2016-09-22 04:37:15
【问题描述】:

我在自定义 dpkg 包的 postinst 脚本中运行以下命令

mkdir -p /var/{cache,run,doc}

该命令有效,但在 /var 中创建名为 /var/{cache,run,doc} 的单个目录而不是三个单独的目录。

有没有其他方法可以做到这一点?

谢谢

【问题讨论】:

    标签: mkdir dpkg post-install


    【解决方案1】:

    这可能是因为您已声明维护者脚本是带有#!/bin/shPOSIX shell 脚本,而不是带有#!/bin/bashbash 脚本。 {} 语法是一种 bashism。

    您要么需要使用bash,要么明确拼写每个目录,如:

    mkdir -p /var/cache /var/run /var/doc
    

    我想知道的是为什么你需要这些目录,因为至少在 Debian 和衍生产品上,这些目录(除了 /var/doc 被称为 /usr/share/doc)已经由 base-files 提供。

    【讨论】:

      【解决方案2】:
      mkdir -p /var/ cache run doc
      

      应该做的工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-25
        • 2013-11-06
        • 1970-01-01
        • 2013-06-21
        • 1970-01-01
        • 2011-07-20
        • 1970-01-01
        相关资源
        最近更新 更多