Sourcing variables from another script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sourcing variables from another script
# 1  
Old 06-12-2013
Sourcing variables from another script

My manager required that i keep the hostnames and username and password in a separate file when creating my sftp script.
(Don't mention passwords and sftp...I've talk to him about this several times)

I have a list of hostnames that have to be read in a loop in my main script.

I don't know how to list these in the other file which contains ALOT of other variables, so that they will be picked up and read in a loop.


How do I do this?
# 2  
Old 06-12-2013
create a file say, var.cfg

Code:
VAR1=variable1
VAR2=variable2

Now in script,

Code:
#/bin/sh

. ./var.cfg #or whatever the absolute path is

echo $VAR1
echo $VAR2

This should help!
# 3  
Old 06-12-2013
I have four hostnames. All four are going to be used in this loop its pulling files from one server, then the next, then the next, and so on till it complete.

This file he wants the names in...contains about hundred variables used by many scripts. I

I dont know much about doing this, its my first time. I need to be spoke to like the idiot I am. How do I make sure these hostnames are read properly when I source them.

I know how to source the file, I know how to say pass=${PASSWORD_COMING_FROM_OTHER_sh} or whatever. But I dont know how to list them in this file so that they are read correctly.

Like I know I have to add an EXPORT HOSTS SECTION to it, then export the hosts to a variable array and then use that array in your script

But I have no idea how to do that.
# 4  
Old 06-12-2013
Variables in sourced scripts work exactly the same was as variables everywhere else.

How do you make sure? Blank them before you load the file, then check if they are still blank.

Code:
die() {
        echo "$@" >&2
        exit 1
}

VAR1="" ; VAR2="" ; VAR3=""; VAR4=""

. configfile

[ -z "$VAR1" ] && die "VAR1 blank"
[ -z "$VAR2" ] && die "VAR2 blank"
[ -z "$VAR3" ] && die "VAR3 blank"
[ -z "$VAR4" ] && die "VAR4 blank"

If you have bash you can do this in a loop:

Code:
for VAR in VAR1 VAR2 VAR3 VAR4
do
        [ -z "${!VAR}" ] && die "$VAR blank"
done

I don't know what you mean by an EXPORT HOSTS SECTION.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Resume parent shell after sourcing another script

#! /bin/ksh #first.sh echo "b4 set exit as return" alias exit=return echo "call second" . ./second.sh echo "after second" #. ./third.sh unalias exit echo "ho lanciato il terzo" =================// #second.sh echo "in scond" exit ==============// the above code works in k... (2 Replies)
Discussion started by: mprakasheee
2 Replies

2. Shell Programming and Scripting

Sourcing .cshrc (C shell) environment variables to bash

I have tried with the following: csh -c 'source ~/.cshrc; exec bash' # works perfectly (cat ~/.cshrc; echo exec bash) | csh # not working And, using sed, I successfully retrieved the environment variables from ~/.cshrc sed -rn 's/setenv\s+(\S+)\s+(.*)$/export \1=\2/p' ~/.cshrc but now... (6 Replies)
Discussion started by: royalibrahim
6 Replies

3. 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

4. UNIX for Dummies Questions & Answers

Question On Sourcing Variables

I have 2 scripts first script would call second script. test1.sh #!/bin/bash logfile=`basename $0`.log echo "First File" >> $logfile TIME=`ls -lu array.ksh | awk '{print $6" "$7" "$8}'` . /home/infrmtca/bin/Test/test2.sh #/home/infrmtca/bin/Test/test2.sh test2.sh #!/bin/bash... (1 Reply)
Discussion started by: Ariean
1 Replies

5. Shell Programming and Scripting

$1 stays set after sourcing shell script.

ok, so I have a shell script that can be called using the first argument ($1) or not. This argument is a word (Tim for example) and not an actual flag (-x for example). If I call the script with an argument and call the same script without one, it believes that I provided an argument. Note here... (2 Replies)
Discussion started by: mrwatkin
2 Replies

6. UNIX for Dummies Questions & Answers

Problem with xterm & tcsh & sourcing a script in a single command

Hi friends, I have a script that sets the env variable path based on different conditions. Now the new path variable setting should not done in the same terminal or same shell. Only a new terminal or new shell should have the new path env variable set. I am able to do this only as follows: >cd... (1 Reply)
Discussion started by: sowmya005
1 Replies

7. Shell Programming and Scripting

Help with Nested Sourcing files.

Hi, I have a script #!/bin/ksh #reading parameters. . FileA Echo ...... ...... File A has all parameters. FileA: Infile=xyz.com outfile=abc.com #Userid file . FileB FileB: (2 Replies)
Discussion started by: pinnacle
2 Replies

8. UNIX for Dummies Questions & Answers

sourcing the .bashrc

Hello, I am quite new to Linux... I need to set some aliases and I can't get it to work. Can somebody tell me what's wrong? I modified the .bashrc file in my home directory. I added: alias pmv= '/home/vera/MGLTools-1.4.5/share/bin/pmv' saved it and ran source .bashrc The shell... (3 Replies)
Discussion started by: Nusy
3 Replies

9. Shell Programming and Scripting

Maintain full path of a script in a var when sourcing it from a different script

Hi All, I've searched through the forum for a solution to this problem, but I haven't found anything. I have 2 script files that are in different directories. My first script, let's call it "/one/two/a.sh" looks like this: #!/bin/sh IN_DIR=`dirname $0` CUR_DIR=`pwd` cd $IN_DIR... (4 Replies)
Discussion started by: mrbluegreen
4 Replies

10. UNIX for Dummies Questions & Answers

script sourcing problem (ksh)

I have a script "abc.sh" in /tmp which has exit 0 as its last line when I run this script from /tmp/xyz/def.sh script as . ../abc.sh then the script executes but the control doesn't return to def.sh script for subsequent commands in def.sh but if I invoke the abc.sh from inside the... (3 Replies)
Discussion started by: rakeshou
3 Replies
Login or Register to Ask a Question