02-04-2009
If you source the script (using the source or the dot '.' builtins) the code is executed in the current shell (bash in your case) and the shebang (the first two characters in the file: #!) is ignored.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi all,
I'm developing a system which requires me to run a ksh script from within a cgi script. What sort of syntax will I need to do this, I'm sure it's simple but can't find out how anywhere!
Thanks. (1 Reply)
Discussion started by: hodges
1 Replies
2. Shell Programming and Scripting
In a ksh script on an AIX box running a jillion oracle database processes, I'm setting a variable to one of two possible arguments, depending on cmd line arguments.
FINDIT="ps -ef | grep oracle | grep DBexport | grep rshrc"
-or-
FINDIT="ps -ef | grep oracle | grep prod | grep runback"
I... (3 Replies)
Discussion started by: zedmelon
3 Replies
3. Shell Programming and Scripting
Hello all,
Here's the scenario:
I've got a script, let's call it script1. This script invokes another script, which we'll call set_env, via the dot "." command, like so:
File:
#!/bin/ksh
#
region_id=DEV
. set_env ${region_id}
and so on. Script set_env sets up an... (2 Replies)
Discussion started by: BriceBu
2 Replies
4. Shell Programming and Scripting
Hi All,
I wrote a script to send a mail if a particular logfile did not get updated since 5 mins. Here is the Script.
log=`date +%e_%b_%Y`.log # returns todays logfile
x=`date -r $log` # returns last modification time of the Log file
h1=`expr substr "$x" 12 2`
m1=`expr substr "$x" 15 2`... (5 Replies)
Discussion started by: AnneAnne
5 Replies
5. Shell Programming and Scripting
Hi,
I have to migrate files from one server to another .For this I am using a mapping file and ksh .The mapping file contains the source and destination directories of the files to be migrated.Each line in the mapping file corresponds to one file that is to be migrated.The ksh upon execution... (3 Replies)
Discussion started by: Kishore_1
3 Replies
6. UNIX for Dummies Questions & Answers
Hi ,
What is the diffence between executing the script like
./myscript.ksh
. ./myscript.ksh
I have found 2 difference but could not find the reason
1. If i export a variable in myscript.ksh and execute it like . ./myscript.ksh the i can access the other scripts that are present in... (5 Replies)
Discussion started by: max_hammer
5 Replies
7. UNIX for Dummies Questions & Answers
Hi,
I am in ksh.
below mentioned 3 commands I executed at command prompt & got the expected results.
csh
source csh_infa
<special command>
Now I have to do this in the script in ksh. I entered it as it is.
#!/bin/ksh
csh
source csh_infa
<special command>
Now after... (1 Reply)
Discussion started by: girish_kanak
1 Replies
8. Shell Programming and Scripting
Overview:
I have an AWK program that parses thru a database backup
server log file and outputs ths following parameters
SRNO DATE : TIME SIZE IN(KB) DATABASE NAME DUMP TYPE
1 May 16 2012: 13:30:00 6874 TestDB database
2 May 16 2012: 13:30:44 11462 master database
Problem:
This program has... (5 Replies)
Discussion started by: JolietJake
5 Replies
9. Shell Programming and Scripting
I am trying to call a ksh script from another ksh script.
in the called script , i am doing sum calculation(used typeset etc)
suppose a.ksh is the calling script and b.ksh is the called script .
. b.ksh (used this inside a.ksh)
this execution gives some error like bad number.
but when i... (1 Reply)
Discussion started by: urfrnddpk
1 Replies
10. Shell Programming and Scripting
Hello,
I have two "for loops" in my script and the second one is not executing the way i want.
Script:
#!/bin/ksh
IFS=' '
printf "Enter Account name: "
read A B C D E F G H I J K L M N O
for i in ${A} ${B} ${C} ${D} ${E} ${F} ${G} ${H} ${I} ${J} ${K} ${L} ${M} ${N} ${O};... (3 Replies)
Discussion started by: seekryts15
3 Replies
LEARN ABOUT MOJAVE
tap::parser::sourcehandler::perl
TAP::Parser::SourceHandler::Perl(3pm) Perl Programmers Reference Guide TAP::Parser::SourceHandler::Perl(3pm)
NAME
TAP::Parser::SourceHandler::Perl - Stream TAP from a Perl executable
VERSION
Version 3.26
SYNOPSIS
use TAP::Parser::Source;
use TAP::Parser::SourceHandler::Perl;
my $source = TAP::Parser::Source->new->raw( 'script.pl' );
$source->assemble_meta;
my $class = 'TAP::Parser::SourceHandler::Perl';
my $vote = $class->can_handle( $source );
my $iter = $class->make_iterator( $source );
DESCRIPTION
This is a Perl TAP::Parser::SourceHandler - it has 2 jobs:
1. Figure out if the TAP::Parser::Source it's given is actually a Perl script ("can_handle").
2. Creates an iterator for Perl sources ("make_iterator").
Unless you're writing a plugin or subclassing TAP::Parser, you probably won't need to use this module directly.
METHODS
Class Methods
"can_handle"
my $vote = $class->can_handle( $source );
Only votes if $source looks like a file. Casts the following votes:
0.9 if it has a shebang ala "#!...perl"
0.75 if it has any shebang
0.8 if it's a .t file
0.9 if it's a .pl file
0.75 if it's in a 't' directory
0.25 by default (backwards compat)
"make_iterator"
my $iterator = $class->make_iterator( $source );
Constructs & returns a new TAP::Parser::Iterator::Process for the source. Assumes "$source->raw" contains a reference to the perl script.
"croak"s if the file could not be found.
The command to run is built as follows:
$perl @switches $perl_script @test_args
The perl command to use is determined by "get_perl". The command generated is guaranteed to preserve:
PERL5LIB
PERL5OPT
Taint Mode, if set in the script's shebang
Note: the command generated will not respect any shebang line defined in your Perl script. This is only a problem if you have compiled a
custom version of Perl or if you want to use a specific version of Perl for one test and a different version for another, for example:
#!/path/to/a/custom_perl --some --args
#!/usr/local/perl-5.6/bin/perl -w
Currently you need to write a plugin to get around this.
"get_taint"
Decode any taint switches from a Perl shebang line.
# $taint will be 't'
my $taint = TAP::Parser::SourceHandler::Perl->get_taint( '#!/usr/bin/perl -t' );
# $untaint will be undefined
my $untaint = TAP::Parser::SourceHandler::Perl->get_taint( '#!/usr/bin/perl' );
"get_perl"
Gets the version of Perl currently running the test suite.
SUBCLASSING
Please see "SUBCLASSING" in TAP::Parser for a subclassing overview.
Example
package MyPerlSourceHandler;
use strict;
use vars '@ISA';
use TAP::Parser::SourceHandler::Perl;
@ISA = qw( TAP::Parser::SourceHandler::Perl );
# use the version of perl from the shebang line in the test file
sub get_perl {
my $self = shift;
if (my $shebang = $self->shebang( $self->{file} )) {
$shebang =~ /^#!(.*perl.*?)(?:(?:s)|(?:$))/;
return $1 if $1;
}
return $self->SUPER::get_perl(@_);
}
SEE ALSO
TAP::Object, TAP::Parser, TAP::Parser::IteratorFactory, TAP::Parser::SourceHandler, TAP::Parser::SourceHandler::Executable,
TAP::Parser::SourceHandler::File, TAP::Parser::SourceHandler::Handle, TAP::Parser::SourceHandler::RawTAP
perl v5.18.2 2014-01-06 TAP::Parser::SourceHandler::Perl(3pm)