Dch 非交互模式

我正在尝试寻找一种以非交互模式运行`dch`的方法,以便将`debian/changelog`文件的创建和操作纳入到一个shell脚本中。
看起来只有在使用参数`-r ""`时它才能正常工作(如这里所示)。然而,我需要使用不同的参数。
2个回答

找到了问题,
看起来如果dch没有获得它认为是必需的所有信息,它会打开一个编辑器。因此,为了在不打开编辑器的情况下创建一个debian/changelog,我发现以下选项组合就足够了:
dch --create --distribution unstable --package "pkgpkg" --newversion 0.0.0.0-0.test "some nice message"

1dch -n "一些友善的信息"就足够了。 - uav
1@uav 如果您需要第一次创建新的变更日志,那么-n标志将无法起作用:dch: 致命错误,在第573行: 无法找到debian/changelog文件! 您是否在源代码树中? (如果您希望创建此文件,可以使用--create选项。) - Wimateeka
1工作得很好,谢谢。 - Indacochea Wachín

这取决于你打算用它做什么。`dch`根据`VISUAL`/`EDITOR`变量来确定编辑器,唯一的条件是它能够理解/忽略形式为`+n`的初始选项。所以我可以这样做:
$ cat edit.sh 
#! /bin/bash

shift
sed -i 's/UNRELEASED/trusty/' "$@"
$ VISUAL='bash edit.sh' dch -i
$ head -3 debian/changelog
mypackage (1.24ubuntu1) trusty; urgency=medium

  * 

并获得合理的自动化操作。