10-27-2005
trouble with passing variables from script to script
I have tried this as suggested, but it does not work for me, below is what I thought would work, but it does not even stop at the sleep 3000 part, I know it is because of the ftp part but don't know how to solve as I tried it without FTP and it works a treat
#! /usr/bin/ksh
Name=`who am i | cut -f1 -d" "`
TTY=`who am i |awk '{print $2}'`
IpAdd=`finger -l |( grep $TTY )| awk '{ print $9 }'`
HOST=$IpAdd
echo "\n\t please enter in the name of the file thats in your uploads folder ! \c"
read FileName
USER=W21?."453
PASSWD=******
DIR=/uploads
exec 4>&1
ftp -nv >&4 2>&4 |&
print -p open $HOST
print -p user $USER $PASSWD
print -p cd c:\
print -p dir c:\uploads
print -p binary
print -p get $DIR/$FileName /u1/excel/SplitF/$FileName
print -p bye
wait
/u1/excel/SplitF/FileSplitter $FileName ##### your suggested code
exit
bye
...............................................................................
2nd script
#! /bin/sh
rm /u6/SplitFiles/*.?? > /dev/null
echo $1
sleep 30000
because I can't get the variable from the 1st to the 2nd script I have to prompt for input within the second script again
ie ....
echo " Choose from the list above the file you wish to split ... \c"
read FileName
and when I done with splitting, I then have to prompt again for the new created file's
output.aa ouput.ab etc...etc..
any help would be great!
Quote:
Originally Posted by S.P.Prasad
Out of multiple ways one way is to invoke the second script by providing the user_id as an command line argument to the script from the first script. Something like
#code of first script to take input of user_id and password
Second_script_name $user_id
In the second script use positional parameters to determine the value associated for the first argument:
UserId=$1
I hope this helps.
Last edited by Gerry405; 10-27-2005 at 12:43 PM..
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am writing a shell script.
Now i need to read in a string and send it to an awk file to compare and search for compatible record.
I wrote it like tat:
read serial | awk -f generate.awk data.dat
p/s: the data file got 6 field.
According to an expert, we can write it like tat:
read... (1 Reply)
Discussion started by: AkumaTay
1 Replies
2. Shell Programming and Scripting
Hi all,
I'm new to Shell scripting. In my shell script for Bourne shell, the script accepts a date parameter which is optional. If the value is supplied, the supplied value should be assigned to a variable. If not, the current date will be assigned to the variable. My script is like this.
#!... (9 Replies)
Discussion started by: sumesh.abraham
9 Replies
3. Shell Programming and Scripting
Hi All,
I have a question regarding running this script by passing an argument, for example ./ShellParse.sh sun, how do i do that? So i want when i pass argument sun, it shouild execute things inside the for loop. I want to support some other platforms too, so there are more for loops to... (3 Replies)
Discussion started by: asirohi
3 Replies
4. Shell Programming and Scripting
Dear All,
Plz, can someone clarify me regarding the below.
Actually I want to write the script that will get the some parameter like "yes" or "No" as we wish during execution without prompting for entering that word. Plz tell me...
Its Urgent..
Thanks & Regards
... (1 Reply)
Discussion started by: ks47
1 Replies
5. Shell Programming and Scripting
Hi Gurus,
I have written a script set_env.ksh to which I pass an argument and set the oracle login credentials based on the argument I pass.
The script has code as below.
ORACLE_SID=$1
DB_SCHEMA_LOGON=$DB_SCHEMA_USER/$DB_SCHEMA_PASSWORD@$ORACLE_SID; export DB_SCHEMA_LOGON;
echo... (3 Replies)
Discussion started by: Sabari Nath S
3 Replies
6. Shell Programming and Scripting
I have one working awk command line. Which taking data from the “J1202523.TXT” file and generating the “brazil.dat” file. PFB code.
awk '{ DUNS = substr($0,0,9);if ( substr($0,14,3) == "089" ) print DUNS }' J1202523.TXT > Brazil.dat
But now I want to pass two parameter as a command line argument... (4 Replies)
Discussion started by: humaemo
4 Replies
7. Shell Programming and Scripting
I have the awk script below and things go wrong when I do
awk -v dsrmx=25 -f ./checkSRDry.awk --usage
I basically want to override the usual --usage and --help that awk gives.
How do people usually handle this situation when you also want to supply your own usage and help
concerning the... (2 Replies)
Discussion started by: kristinu
2 Replies
8. Shell Programming and Scripting
Hi All,
I want to pass array of argument from Java to a shell script.I can use process builder api and its exec() method to call the script,but the question is how to receive the parameter in the script.
Thanks in advance
---------- Post updated at 10:00 PM ---------- Previous update was... (1 Reply)
Discussion started by: Abhijeet_Atti
1 Replies
9. Shell Programming and Scripting
hi,
I want to implement some function to perform following task
if ; then
$TEXT = "Data_0"
else
$TEXT = $1
fi
if ; then
$Lines = 45
else
$Lines = $2
fi
Kindly suggest,
thanks (11 Replies)
Discussion started by: nrjrasaxena
11 Replies
10. Shell Programming and Scripting
Hi,
I am trying to pass a variable as an argument to another script. While substitution of variable, I am facing a problem.
varaiable "a" value should be -b "FPT MAIN".
When we pass "a" to another script, we are expecing it to get substitue as ./test.sh -b "FPT MAIN". But, it is getting... (9 Replies)
Discussion started by: Manasa Pradeep
9 Replies
tclsh(1) Tcl Applications tclsh(1)
__________________________________________________________________________________________________________________________________________________
NAME
tclsh - Simple shell containing Tcl interpreter
SYNOPSIS
tclsh ?fileName arg arg ...?
_________________________________________________________________
DESCRIPTION
Tclsh is a shell-like application that reads Tcl commands from its standard input or from a file and evaluates them. If invoked with no
arguments then it runs interactively, reading Tcl commands from standard input and printing command results and error messages to standard
output. It runs until the exit command is invoked or until it reaches end-of-file on its standard input. If there exists a file .tclshrc
(or tclshrc.tcl on the Windows platforms) in the home directory of the user, tclsh evaluates the file as a Tcl script just before reading
the first command from standard input.
SCRIPT FILES
If tclsh is invoked with arguments then the first argument is the name of a script file and any additional arguments are made available to
the script as variables (see below). Instead of reading commands from standard input tclsh will read Tcl commands from the named file;
tclsh will exit when it reaches the end of the file. There is no automatic evaluation of .tclshrc in this case, but the script file can
always source it if desired.
If you create a Tcl script in a file whose first line is
#!/usr/local/bin/tclsh
then you can invoke the script file directly from your shell if you mark the file as executable. This assumes that tclsh has been
installed in the default location in /usr/local/bin; if it's installed somewhere else then you'll have to modify the above line to match.
Many UNIX systems do not allow the #! line to exceed about 30 characters in length, so be sure that the tclsh executable can be accessed
with a short file name.
An even better approach is to start your script files with the following three lines:
#!/bin/sh
# the next line restarts using tclsh
exec tclsh "$0" "$@"
This approach has three advantages over the approach in the previous paragraph. First, the location of the tclsh binary doesn't have to be
hard-wired into the script: it can be anywhere in your shell search path. Second, it gets around the 30-character file name limit in the
previous approach. Third, this approach will work even if tclsh is itself a shell script (this is done on some systems in order to handle
multiple architectures or operating systems: the tclsh script selects one of several binaries to run). The three lines cause both sh and
tclsh to process the script, but the exec is only executed by sh. sh processes the script first; it treats the second line as a comment
and executes the third line. The exec statement cause the shell to stop processing and instead to start up tclsh to reprocess the entire
script. When tclsh starts up, it treats all three lines as comments, since the backslash at the end of the second line causes the third
line to be treated as part of the comment on the second line.
You should note that it is also common practise to install tclsh with its version number as part of the name. This has the advantage of |
allowing multiple versions of Tcl to exist on the same system at once, but also the disadvantage of making it harder to write scripts that |
start up uniformly across different versions of Tcl.
VARIABLES
Tclsh sets the following Tcl variables:
argc Contains a count of the number of arg arguments (0 if none), not including the name of the script file.
argv Contains a Tcl list whose elements are the arg arguments, in order, or an empty string if there are no arg arguments.
argv0 Contains fileName if it was specified. Otherwise, contains the name by which tclsh was invoked.
tcl_interactive
Contains 1 if tclsh is running interactively (no fileName was specified and standard input is a terminal-like device), 0
otherwise.
PROMPTS
When tclsh is invoked interactively it normally prompts for each command with ``% ''. You can change the prompt by setting the variables
tcl_prompt1 and tcl_prompt2. If variable tcl_prompt1 exists then it must consist of a Tcl script to output a prompt; instead of out-
putting a prompt tclsh will evaluate the script in tcl_prompt1. The variable tcl_prompt2 is used in a similar way when a newline is typed
but the current command isn't yet complete; if tcl_prompt2 isn't set then no prompt is output for incomplete commands.
KEYWORDS
argument, interpreter, prompt, script file, shell
Tcl tclsh(1)