Bash Version: 4.4
Patch Level: 19
Release Status: release


Configuration Information:
Machine: x86_64
OS: linux-gnu
Compiler: gcc



Description:

 I've come to the conclusion that bash scripts

 (1) are not entirely loaded in memory at once

 or, at least,

 (2) are re-read (from the disk?) if the file is updated

 Something tells me this is a really bad idea (if it turns
 out to be a "feature" and not a bug), because if a script
 is launched with "&" and then the file is edited/updated,
 the result will be unpredictable.



Repeat-By:

 Create an empty directory, and then two script files
 s1 and s2, contents given below (enclosed by '--')

 s1:
--
#!/bin/bash
#
 sleep 3
#
 \rm -f f1
#
 exit
#
--

 s2:
--
#!/bin/bash
#
 sleep 1
#
 \rm -f f2
#
 exit
#
--

 Now execute

# touch f1 f2
# ( ./s1 & ) ; sleep 1 ; \cp -f s2 s1

 and see f2 disappear, not f1 .


 Best regards,
  Paulo Nogueira


Reply via email to