小编MrD*_*Coy的帖子

genisoimage加工文件名

我正在尝试为脱机RPM存储库构建ISO映像.我有我需要的文件和结构,但是当我创建ISO映像时,文件名是乱码:

ConsoleKit-32bit-0.2.10-64.65.1.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)

ConsoleKit-32bit-0.2.10-64..r
Run Code Online (Sandbox Code Playgroud)

我在命令行上使用以下选项尝试了此操作并获得了相同的结果:

genisoimage -f -U -o update.iso /data/iso
genisoimage -f -l -allow-lowercase -o update.iso /data/iso
genisoimage -f -l -allow-leading-dots -relaxed-filenames -allow-lowercase -allow-multidot -no-iso-translate -o update.iso /data/iso
Run Code Online (Sandbox Code Playgroud)

是否有任何我可能会遗漏的文件名将被保留?这对于ISO repo正常工作至关重要.

linux iso rpm

4
推荐指数
1
解决办法
3889
查看次数

源 Bash 函数中的 Getopts 以交互方式工作,但不在测试脚本中?

我有一个 Bash 函数,其中一个函数在测试时被证明存在问题。prunner是一个函数,旨在提供 GNU Parallel 的一些功能,并避免尝试在 Perl 中使用其他 Bash 函数的范围问题。它支持设置命令以针对参数列表运行-c,并设置与 并发运行的后台作业数-t

在测试它时,我最终得到了以下场景:

  • prunner -c "gzip -fk" *.out- 以test.bash交互方式按预期工作。
  • find . -maxdepth 1 -name "*.out" | prunner -c echo -t 6- 不起作用,看似无视-c echo

测试在使用 Bash 4.3 的 Ubuntu 16.04 和使用 Bash 4.4 的 Mac OS X 上进行。

这似乎与后者中发生的事情test.bash是,getopts拒绝处理-c,从而prunner将尝试直接执行论据没有它被赋予的前缀命令。奇怪的是,我能够观察到它接受该-t选项,因此getopts至少部分工作。Bash 调试set -x无法说明为什么我会发生这种情况。

这是有问题的函数,稍作修改以echo代替 …

bash shell getopts

0
推荐指数
1
解决办法
467
查看次数

标签 统计

bash ×1

getopts ×1

iso ×1

linux ×1

rpm ×1

shell ×1