Why variables are not charged ?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Why variables are not charged ?
# 1  
Old 07-26-2011
Why variables are not charged ?

hi,

under a linux platform at the open session time , the ".bash_profile" is ran

In this ".bash_profile" , i run a script "toto.sh"

if the script is run as:

~/toto.sh

the values charged ( like PS1 ) and the alias are not kept in the session

if i run as :
. ~/toto.sh

all is ok

Can you explain what is the role of the point ?

thanks in advance

christian
# 2  
Old 07-26-2011
In the first example, the command is being run in a subshell and thus the variables it is changing are not preserved when you return.

Using the dot command however, runs the program in the current shell, thus preserving your settings.

https://secure.wikimedia.org/wikiped...Dot_%28Unix%29

Gary
# 3  
Old 07-26-2011
If you execute a script using ". space script_name" it will be executed in current shell and hence all the aliases/variables defined will be avaiable outside.

How ever, if you run a script as "script_name" it will be executed in a child shell and the same won't be available to outer. I believe you have to use "export" if you wish to make them available outside too.
# 4  
Old 07-26-2011
Thanks for your help

even if i add EXPORT, the values are not kept

regards
Christian Smilie
# 5  
Old 07-26-2011
Check these:

4 Ways of Executing a Shell Script in UNIX / Linux (link removed)

Bourne Shell Tutorial
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to pass variables into anothother variables?

Below are three variables, which I want to pass into variable RESULT1 username1=userid poihostname1=dellsys.com port1=8080 How can I pass these variables into below code... RESULT1=$((ssh -n username1@poihostname1 time /usr/sfw/bin/wget --user=sam --password=123 -O /dev/null -q... (4 Replies)
Discussion started by: manohar2013
4 Replies

2. Shell Programming and Scripting

Passing awk variables to bash variables

Trying to do so echo "111:222:333" |awk -F: '{system("export TESTO=" $2)}'But it doesn't work (2 Replies)
Discussion started by: urello
2 Replies

3. Shell Programming and Scripting

BASH arrays and variables of variables in C++

Sometimes it is handy to protect long scripts in C++. The following syntax works fine for simple commands: #define SHELLSCRIPT1 "\ #/bin/bash \n\ echo \"hello\" \n\ " int main () { cout <<system(SHELLSCRIPT1); return 0; } Unfortunately for there are problems for: 1d arrays:... (10 Replies)
Discussion started by: frad
10 Replies

4. Shell Programming and Scripting

Running a script with multiple variables like 25 variables.

Hi All, i have a requirement where i have to run a script with at least 25 arguements and position of arguements can also change. the unapropriate way is like below. can we achieve this in more good and precise way?? #!/bin/ksh ##script is sample.ksh age=$1 gender=$2 class=$3 . . .... (3 Replies)
Discussion started by: Lakshman_Gupta
3 Replies

5. Shell Programming and Scripting

Variables

I need to define a variable of variable. I'll try to explain it. I've a list: LIST="aaa bbb ccc"I need to do something like: for word in LIST ;do res_$word=`ls $word` done This doesn't work. Any idea? Thanks (3 Replies)
Discussion started by: kekaes
3 Replies

6. Shell Programming and Scripting

Using cd on Variables

I can't for the love of me figure out how to work with double quotes and single quotes in variables in bash scripts. For instance, I added the following line to my .bash_aliases file: WINDOWS="'/host/Documents and Settings/Solar Zenith/My Documents'"; I want this so that I can go straight to 'My... (2 Replies)
Discussion started by: solar zenith
2 Replies

7. Programming

How to convert byteArray variables to HexaString variables for Linux?

Hello everybody, I am having problem in converting byte array variables to Hexa String variables for Linux. I have done, converting byte array variables to Hexa String variables for Windows but same function doesn't work for linux. Is there any difference in OS ? The code for Windows is given... (2 Replies)
Discussion started by: ritesh_163
2 Replies

8. Shell Programming and Scripting

naming variables with variables

Hello, FIRST QUESTION: I am writing a script in which a query is taken at the beginning of the script to be later used at the end. In the query, variables are generated from a loop, and I would like to assign the variable NAME (not value) with an appended 1, 2, 3, 4.....n. The number of... (2 Replies)
Discussion started by: Allasso
2 Replies

9. Shell Programming and Scripting

non-variables with $

I am writing a csh script and I need to echo a word that starts with $ and is not a variable. How do I do that? (3 Replies)
Discussion started by: oprestol
3 Replies

10. UNIX for Dummies Questions & Answers

Using Variables to Set Other Variables

I have a script that I'm trying to shorten (below) by removing repetitive code. if ] then commodity_ndm_done=Y fi if ] then customer_ndm_done=Y fi if ] then department_ndm_done=Y fi if ] then division_ndm_done=Y fi (3 Replies)
Discussion started by: superdelic
3 Replies
Login or Register to Ask a Question