< Buzzing or vibrating the login form using jquery Posted On May 15, 2012 : 0 comments << >> Simple div slideshow using jquery Posted On May 9, 2012 : 0 comments << >> Copy mysql column in varchar to type date Posted On May 3, 2012 : 0 comments << >> Enter only numbers inside a input field of a form using javascript Posted On May 1, 2012 : 0 comments << >> Slide in and out animate div vertically using jquery Posted On April 25, 2012 : 1 comment << >> Tag cloud using php, mysql and ajax with filter Posted On April 24, 2012 : 0 comments << >> Change webpage font color or background color from the user side using javascript Posted On April 19, 2012 : 0 comments << >> A single link that cycles through several webpage background color using javascript Posted On April 17, 2012 : 0 comments << >> Simple webpage redirection using perl script Posted On April 10, 2012 : 0 comments << >> Get ipaddress using perl script Posted On April 4, 2012 : 0 comments << >>

Shell Scripts Part 2

This Tutorial Has Been Viewed 675 Times.
VN:F [1.9.17_1161]
Rating: 0.0/10 (0 votes cast)

Create a small shell script, testVar2.sh:
testVar2.sh

#!/bin/sh
echo “testVar is: $testVar”
testVar=”my shell script”
echo “testVar is: $testVar”

Now run the script:

$ ./testVar2.sh
testVar is:
testVar is: my shell script

testVar hasn’t been set to any value, so it’s blank. Then we give it a value, and it has the expected result.
Now run:

$ testVar=hello
$ ./testVar2.sh
testVar is:
testVar is: my shell script

It’s still not been set! What’s going on?!
When you call testVar2.sh from your interactive shell, a new shell is spawned to run the script. This is partly because of the #!/bin/sh line at the start of the script, which we discussed earlier.
We need to export the variable for it to be inherited by another program – including a shell script. Type:

$ export testVar
$ ./testVar2.sh
testVar is: hello
testVar is: my shell script

Now look at line 3 of the script: this is changing the value of testVar. But there is no way that this will be passed back to your interactive shell. Try reading the value of testVar:

$ echo $testVar
hello
$

Once the shell script exits, its environment is destroyed. But testVar keeps its value of hello within your interactive shell.
In order to receive environment changes back from the script, we must source the script – this effectively runs the script within our own interactive shell, instead of spawning another shell to run it.
We can source a script via the “.” command:

$ testVar=hello
$ echo $testVar
hello
$ . ./testVar2.sh
testVar is: hello
testVar is: my shell script
$ echo $testVar
my shell script

To be continued….

VN:F [1.9.17_1161]
Rating: 0.0/10 (0 votes cast)

Incoming search terms:





You will also be interested in ,

Leave a Reply

Proudly designed by Mistonline.in.
Affordable Seo PackagesSeo BlogEdu Backlinks