【发布时间】:2016-09-22 04:37:15
【问题描述】:
我在自定义 dpkg 包的 postinst 脚本中运行以下命令
mkdir -p /var/{cache,run,doc}
该命令有效,但在 /var 中创建名为 /var/{cache,run,doc} 的单个目录而不是三个单独的目录。
有没有其他方法可以做到这一点?
谢谢
【问题讨论】:
标签: mkdir dpkg post-install
我在自定义 dpkg 包的 postinst 脚本中运行以下命令
mkdir -p /var/{cache,run,doc}
该命令有效,但在 /var 中创建名为 /var/{cache,run,doc} 的单个目录而不是三个单独的目录。
有没有其他方法可以做到这一点?
谢谢
【问题讨论】:
标签: mkdir dpkg post-install
这可能是因为您已声明维护者脚本是带有#!/bin/sh 的POSIX shell 脚本,而不是带有#!/bin/bash 的bash 脚本。 {} 语法是一种 bashism。
您要么需要使用bash,要么明确拼写每个目录,如:
mkdir -p /var/cache /var/run /var/doc
我想知道的是为什么你需要这些目录,因为至少在 Debian 和衍生产品上,这些目录(除了 /var/doc 被称为 /usr/share/doc)已经由 base-files 提供。
【讨论】:
mkdir -p /var/ cache run doc
应该做的工作
【讨论】: