24 мая 2023 г. 18:05:29 Todd C. Miller <todd.mil...@sudo.ws>:

> On Tue, 23 May 2023 22:22:04 -0000, Klemens Nanni wrote:
> 
>> I'm pointing this out because the error message we'd get provides less
>> information with your diff:
>> 
>>     $ echo $(cat /nope) 2>/dev/null
>>     cat: /nope: No such file or directory
>> vs.
>>     echo $(<   /nope) 2>/dev/null
>>     ksh: /nope: cannot open $(<) input
>> 
>> But given the constraint environment, I'm fine with turning those four
>> $(cat ...) instances into $(< ...) like the exising seven onces with
>> the intial example being the only outlier.
> 
> Here's the error output from bash, zsh and ksh93:
> 
> $bash echo $(< /nope)
> bash: /nope: No such file or directory
> 
> $zsh echo $(< /nope)
> zsh: no such file or directory: /nope
> 
> $ksh93 echo $(< /nope)
> ksh93: /nope: cannot open [No such file or directory]
> 
> Maybe we should just adjust ksh to display the more useful message?
> With diff:
> 
> $ echo $(< /nope)
> ksh: /nope: No such file or directory
> 
> - todd
> 
> diff -u -p -u -r1.66 eval.c
> --- bin/ksh/eval.c  13 Sep 2020 15:39:09 -0000  1.66
> +++ bin/ksh/eval.c  24 May 2023 14:03:41 -0000
> @@ -8,6 +8,7 @@
> 
> #include <ctype.h>
> #include <dirent.h>
> +#include <errno.h>
> #include <fcntl.h>
> #include <pwd.h>
> #include <stdio.h>
> @@ -909,7 +910,7 @@ comsub(Expand *xp, char *cp)
>             SHF_MAPHI|SHF_CLEXEC);
>         if (shf == NULL)
>             warningf(!Flag(FTALKING),
> -               "%s: cannot open $(<) input", name);
> +               "%s: %s", name, strerror(errno));
>         xp->split = 0;  /* no waitlast() */
>     } else {
>         int ofd1, pv[2];
OK kn

Reply via email to