Hi, v.nix.is wrote: > Package: dash > Version: 0.5.5.1-3 > Severity: important > > > dash doesn't understand the ** exponent operator. This caused some > breakage when moving from bash to dash as suggested by the package > manager as several (non-debian) cronjobs used the feature on their > argument list.
Someone else can comment on whether dash should learn **, but in the meantime, perhaps a few comments could help: dash is not meant to be totally compatible with bash. Generally it stays pretty close to the POSIX standard in the shell constructs it accepts; in particular, arithmetic expansion generally allows includes operators from C. So I suspect the non-inclusion of ** is by design: <http://www.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_04> <http://www.opengroup.org/onlinepubs/9699919799/utilities/V3_chap01.html#tag_17_01_02_01> Whether it would be a good idea to change that is of course a different question. Using dash as sh is often safe with third-party scripts, since many authors use #!/bin/bash instead of #!/bin/sh when using bash extensions. Though that is not much help for cronjobs. The change of sh _can_ break private (or non-portable) scripts, which is part of why it is configurable. To make sh point to bash again, 'dpkg-reconfigure dash' can help. If your cronjobs are the only scripts you use that require bash without a #!/bin/sh line, a less drastic measure is also possible: the SHELL line in /etc/crontab determines the shell used to run system cron jobs. Hope that helps, Jonathan -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

