为什么" dash -c':'"从源代码构建的破折号0.5.8失败了吗?

时间:2015-05-17 22:00:08

标签: shell ubuntu posix dash-shell

使用从源代码编译的破折号二进制文件(版本0.5.8,可在http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.8.tar.gz获得),执行

dash -c ':'

失败
dash: 1: :: Permission denied

这意味着构造如

case foo in
*bar*) :
   do_stuff ;;
*) :
   ;;
esac

失败,打破了很多脚本。为什么用ubuntu分发的破折号二进制文件没有这个问题?

1 个答案:

答案 0 :(得分:3)

如果LC_ALL设置为与ASCII字节顺序默认值(LC_ALL=C)不同的归类顺序,mkbuiltins可以在builtins.c中生成一个数组bsearch() 1}}无法找到内置组件。

这绝对是一个错误,应该在上游报告。