#!/bin/sh vs #!/bin/bash filename expansion after <

Eliot Moss moss@cs.umass.edu
Wed Aug 12 18:24:17 GMT 2020


On 8/12/2020 1:54 PM, Morten Kjærulff via Cygwin wrote:
> Hi,
> 
> This script:
> 
> #!/bin/sh
> echo hello >hello.txt
> ls -l
> cat hell*
> cat < hell*
> 
> gives me:
> 
> $ ./t.sh
> total 2
> -rw-r--r-- 1 vp01mkf Domain Users  6 Aug 12 19:51 hello.txt
> -rwxr-xr-x 1 vp01mkf Domain Users 60 Aug 12 19:51 t.sh
> hello
> ./t.sh: line 5: hell*: No such file or directory
> 
> But if I change line1 to
> #!/bin/bash
> I get
> hello
> hello
> 
> Is that correct behaviour. I guess so, but why? And what is the rule?

The bash man page describes how its behavior is different when run as sh vs bash :-) ... EM


More information about the Cygwin mailing list