linux - Why isn't export working from bash script -


why isn't exporting variable working in following case:

in following example export param variable , set sleep 1000 second in order run script process on background.

#!/bin/bash  export param="i real value"  sleep 1000 

so execute script process following:

 /tmp/example.bash & 

now script runs process (i checked ps -ef) , linux console want print $param following

 echo $param 

but no value param variable.

why? export script isn’t exporting value when script process running.

when run /tmp/example.bash &, set environment in sub-shell, not affect parent shell ran it.

you need (a) remove sleep 1000 , (b) use . command or (in bash or c shell) source command read file part of current process:

sed -i.bak '/sleep/d' /tmp/example.bash  # gnu or bsd sed . /tmp/example.bash echo $param 

Comments

Popular posts from this blog

android - How to save instance state of selected radiobutton on menu -

python 3 IndexError: list index out of range -

IF statement in MySQL trigger -