Question: I have two independently running scripts.
first one lets say script A calculates some values. And i want to echo these values from other script called B. These scripts will not call each other. I have used export keyword but didn't work. How can i do this?

Answer: 
Think of each script as a function: function A calculates some value and returns it. It does not know who will call it. Function B takes in some value and echo it. It does not care who produced that value. So, script A is:

```
#!/bin/sh
# a.sh: Calculate something and return the result
echo 19

```

and script B is:

```
#!/bin/sh
# b.sh: Consume the calculated result, which passed in as $1
echo The result is $1

```

Make them executable:

```
chmod +x [ab].sh

```

Now, we can glue them together on the command line:

```
$ b.sh $(a.sh)
The result is 19

```

Semantically, b.sh did not call a.sh. You called a.sh and passed its result to b.sh.
Actually all your need is `source` you can skip the `export` prefix.

*My use-case was an environment specific settings file, example:*

Within **main\_script.sh**

```
THIS_DIR=`dirname $0`
source $THIS_DIR/config_vars.sh
# other commands

```

Within **config\_vars.sh**

```
LOCAL_ROOT="$HOME/folder/folder"
REMOTE_USERNAME='someuser'
BACKUP_FOLDER="$LOCAL_ROOT/folder"
# etc.

```