11-17-2008
It didn't work unfortunately. The array was not past over to the shell script.
I'm changing methods. The perl script calls the shell script without parameters now. It writes to a file, and the shell script reads from it. The problem now is that only one line can be read even though there are more than one line in the file, or nothing can be read. I have tried a few different ways to do it, one of them follows (it didn't read at all). I have created a file with a few lines in, and the script works fine, but it won't read more than one line if the file was generated by the perl script. Thanks!
#!/bin/bash
FILE="/home/.../somefile"
textArray[0]="" # hold text
c=0 # counter
# read whole file in loop
while read line
do
textArray[$c]=$line # store line
c=$(expr $c + 1) # increase counter by 1
done < $FILE
# get length of array
len=$(expr $c - 1 )
# use for loop to reverse the array
for (( i=0;i<$len; i++));
do
echo "make is work: ${textArray[$i]}"
done
Last edited by pinkgladiator; 11-17-2008 at 10:44 PM..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
AIX 4.3.3
I am trying to write a signal handler into a ksh shell script. I would like to capture the SIGTERM, SIGINT, and the SIGTSTP signals, print out a message to the terminal, and continue executing the script. I have found a way to block the signals:
#! /bin/ksh
SIGTERM=15
SIGINT=2... (2 Replies)
Discussion started by: jalburger
2 Replies
2. Shell Programming and Scripting
I have a shell script which takes at the command prompt options like
ss1.sh -F SCOTT -T JOHN
F- From User
T- To User
I want to pass the From User(SCOTT) Value to another script
ss2.pls (This script runs a PL/SQL Program). Depending on the FromUser value in the ss1.sh script i have to... (4 Replies)
Discussion started by: dreams5617
4 Replies
3. Shell Programming and Scripting
I'm writing a script to automate some post-install tasks on RHEL4 servers.
I need the following code to insert an 'A' in the middle of a string, then replace the string in a file. I know I can use sed to do this, but I'd like to use perl's in place edit so I don't have to write to a temp file,... (1 Reply)
Discussion started by: Xek
1 Replies
4. Shell Programming and Scripting
Hi All,
I have a 2 files. File1 i am generating using an ETL tool, which is a comman seperated delimited file which contains country code & load date.
everytime, this country code will be updated from a table. It might be AB or BA & ld_date will be for which date we need to load the file.
... (7 Replies)
Discussion started by: Amit.Sagpariya
7 Replies
5. Shell Programming and Scripting
Hi All,
I have some questions regarding array arguements passing for Perl Function.
If @array contains 2 items , arguements passing would be like Code_A.
But what if @array needs to add in more items, the rest of the code like $_ will have to be modified as well (highlighted in red), which is... (5 Replies)
Discussion started by: Raynon
5 Replies
6. Shell Programming and Scripting
Hi Folks,
The subject is my question:
Can we pass an array of strings from a Perl Program to a Shell Script?
Please provide some sample code.
Thanks
---------- Post updated at 11:52 PM ---------- Previous update was at 11:43 PM ----------
I got it.
Its here:... (0 Replies)
Discussion started by: som.nitk
0 Replies
7. Shell Programming and Scripting
Hi all,
Not sure if this should be in the programming forum, but I believe it will get more response under the Shell Programming and Scripting FORUM.
Am trying to write a customized df script in Perl and need some help with regards to using arrays and file handlers.
At the moment am... (3 Replies)
Discussion started by: newbie_01
3 Replies
8. Shell Programming and Scripting
Dears,
Newbie here and tried to search this topic for 3 days now with results.
I have a shell array and I want to use it in sqlplus with one connection.
here is what I have for now
#!/bin/ksh
FileName=1000
FileName=2000
FileName=3000
FileName=4000
sqlplus /nolog <<EOF
connect... (20 Replies)
Discussion started by: roby2411
20 Replies
9. Shell Programming and Scripting
Greetings all,
If I have a SH script that calls a PERL script in the following way:
perl $HOME/scripts/config.properties
And in the config.properties PERL file, this Perl script only sets a number of environmental parameters in the following way:
#!/usr/bin/perl
$VAR1 = (
... (3 Replies)
Discussion started by: gikyo12
3 Replies
10. Shell Programming and Scripting
:wall: Hi,
I have an XML file with 5 tags. I need to pass values to the XML file from a shell script that will replace values in 2 of the tags. I cannot hardcode the tag values in XML and use replace command in script as the values are likely to change.
Please help !!!!!!!!!!! (2 Replies)
Discussion started by: Monalisaa
2 Replies
LEARN ABOUT DEBIAN
test::script::run
Test::Script::Run(3pm) User Contributed Perl Documentation Test::Script::Run(3pm)
NAME
Test::Script::Run - test the script with run
SYNOPSIS
use Test::Script::Run;
# customized names of bin dirs, default is qw/bin sbin script ./;
@Test::Script::Run::BIN_DIRS = qw/bin/;
run_ok( 'app_name', [ app's args ], 'you_app runs ok' );
my ( $return, $stdout, $stderr ) = run_script( 'app_name', [ app's args ] );
run_output_matches(
'app_name', [app's args],
[ 'out line 1', 'out line 2' ],
[ 'err line 1', 'err line 2' ],
'run_output_matches'
);
run_output_matches_unordered(
'app_name', [ app's args ],
[ 'out line 2', 'out line 1' ],
[ 'err line 2', 'err line 1' ],
'run_output_matches_unordered'
);
DESCRIPTION
This module exports some subs to help test and run scripts in your dist's bin/ directory, if the script path is not absolute.
Nearly all the essential code is stolen from Prophet::Test, we think subs like those should live below "Test::" namespace, that's why we
packed them and created this module.
FUNCTIONS
run_script($script, $args, $stdout, $stderr)
Runs the script $script as a perl script, setting the @INC to the same as our caller.
$script is the name of the script to be run (such as 'prophet'). $args is a reference to an array of arguments to pass to the script.
$stdout and $stderr are both optional; if passed in, they will be passed to IPC::Run3's run3 subroutineA as its $stdout and $stderr args.
Otherwise, this subroutine will create scalar references to pass to run3 instead (which are treated as strings for STDOUT/STDERR to be
written to).
Returns run3's return value and, if no $stdout and $stderr were passed in, the STDOUT and STDERR of the script that was run.
run_ok($script, $args, $msg)
Runs the script, checking that it didn't error out.
$script is the name of the script to be run (e.g. 'prophet'). $args is an optional reference to an array of arguments to pass to the script
when it is run. $msg is an optional message to print with the test. If $args is not specified, you can still pass in a $msg.
Returns nothing of interest.
run_not_ok($script, $args, $msg)
opposite of run_ok
get_perl_cmd($script, @ARGS)
Returns a list suitable for passing to "system", "exec", etc. If you pass $script then we will search upwards for it in @BIN_DIRS
is_script_output($scriptname @args, @stdout_match, @stderr_match, $msg)
Runs $scriptname, checking to see that its output matches.
$args is an array reference of args to pass to the script. $stdout_match and $stderr_match are references to arrays of expected lines. $msg
is a string message to display with the test. $stderr_match and $msg are optional. (As is $stdout_match if for some reason you expect your
script to have no output at all. But that would be silly, wouldn't it?)
Allows regex matches as well as string equality (lines in $stdout_match and $stderr_match may be Regexp objects).
run_output_matches($script, $args, $exp_stdout, $exp_stderr, $msg)
A wrapper around is_script_output that also checks to make sure the test runs without throwing an exception.
run_output_matches_unordered($script, $args, $exp_stdout, $exp_stderr, $msg)
This subroutine has exactly the same functionality as run_output_matches, but doesn't impose a line ordering when comparing the expected
and received outputs.
last_script_stdout
return last script's stdout
last_script_stderr
return last script's stderr
last_script_exit_code
return last script's exit code
DEPENDENCIES
Test::More, Test::Exception, IPC::Run3, File::Basename, File::Spec
BUGS AND LIMITATIONS
No bugs have been reported.
AUTHOR
sunnavy "<sunnavy@bestpractical.com>"
LICENCE AND COPYRIGHT
Copyright 2009 Best Practical Solutions.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.10.1 2011-01-07 Test::Script::Run(3pm)