Sponsored Content
Top Forums Shell Programming and Scripting bash script function parameters Post 302477442 by Scrutinizer on Sunday 5th of December 2010 05:34:51 AM
Old 12-05-2010
Yes, call by value. And you can emulate call by reference, but usually you do not need that and just capture the output of the function..
This User Gave Thanks to Scrutinizer For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Easy About Bash Script function

Hi to all, first of all,i am working on MINIX 3 OS. I want to create a bash script file,which will create a list of files(not directories) that have been modified one specific day (i.e today) under my home directory. thank you very much!! :) (8 Replies)
Discussion started by: kostis1904
8 Replies

2. Shell Programming and Scripting

Run function from script over ssh (BASH)

Hi, Is there any cleaver way to run function from the bash scrip over ssh? For example: #!/bin/bash #Function 1 FN1 () { ls -l } #Main run ssh user@host FN1 exit 0 Yeah, I know it will not work, but I'm asking how to make it to work :) I'm suspecting that it would be... (1 Reply)
Discussion started by: columb
1 Replies

3. Shell Programming and Scripting

Parameters for function in Shell script

Hi, I am having a function inside a shell script. The Shell script is called with parameters and one of the parameter is passed to a SQL script inside the function. But when the function is called inside the shell script, the SQL script is not called. Do the shell parameter has to be... (3 Replies)
Discussion started by: srimenon09
3 Replies

4. Shell Programming and Scripting

error when call function in bash script

Dear all, Could you please advice as I when call function i found the following error " refills: command not found" note that refills is function name. following also the function and how i call it function refills { echo "formatting refills and telepin" >> $log awk -F,... (20 Replies)
Discussion started by: ahmed.gad
20 Replies

5. Shell Programming and Scripting

Help with grep and read function in a BASH Script

I'm putting together a script that will search my mail archives for emails that meet certain criteria and output the files to a text file. I can manually cat that text file and pipe it into sendmail and it will work (i.e. cat /pathtofile/foo.txt | sendmail -t me@company.com) My script sends... (7 Replies)
Discussion started by: binary-ninja
7 Replies

6. Shell Programming and Scripting

Passing parameters to bash script function (or subroutine)

I've found a few posts regarding passing parameters to a function or subroutine, but for some reason when I try to run a command based on part with these parameters it's not working. If I have the function echo the parameters they show correctly so I believe they are being passed right but the... (2 Replies)
Discussion started by: withanh
2 Replies

7. Shell Programming and Scripting

Calling function from another bash script

I would like to call functions from another bash script. How can I do it? Some code More code (11 Replies)
Discussion started by: kristinu
11 Replies

8. Shell Programming and Scripting

Bash- Command run from script does not pass full parameters with spaces inside

There's a JavaScript file that I call from command line (there's a framework) like so: ./RunDiag.js param1:'string one here' param2:'string two here' I have a shell script where I invoke the above command. I can run it in a script as simple as this #!/bin/bash stuff="./RunDiag.js... (4 Replies)
Discussion started by: AcerAspirant
4 Replies

9. Shell Programming and Scripting

How to call a bash script with positional parameters?

Hi, I have a script which will be executed using the below command, bin/nutch crawl urls -dir /data/test/ bin/nutch - Script file crawl, urls, /data/test/ - Parameters -dir - Option The above script should executed from a shell script named test.sh. I have the below code to execute... (2 Replies)
Discussion started by: vel4ever
2 Replies

10. Shell Programming and Scripting

Bash script: problem with a function which use colors

Hello guys :) I've a some issue with a function which use the bash colors in my script. An example : #!/bin/bash set -x log_in(){ host="srv1" remote_files="log/" LOG_FILE="logfile" green='\033]; then color_in_red=("${red}"$2"${none}") echo -e... (2 Replies)
Discussion started by: Arnaudh78
2 Replies
IO::CaptureOutput(3pm)					User Contributed Perl Documentation				    IO::CaptureOutput(3pm)

NAME
IO::CaptureOutput - capture STDOUT and STDERR from Perl code, subprocesses or XS VERSION
This documentation describes version 1.1102. SYNOPSIS
use IO::CaptureOutput qw(capture qxx qxy); # STDOUT and STDERR separately capture { noisy_sub(@args) } $stdout, $stderr; # STDOUT and STDERR together capture { noisy_sub(@args) } $combined, $combined; # STDOUT and STDERR from external command ($stdout, $stderr, $success) = qxx( @cmd ); # STDOUT and STDERR together from external command ($combined, $success) = qxy( @cmd ); DESCRIPTION
This module provides routines for capturing STDOUT and STDERR from perl subroutines, forked system calls (e.g. "system()", "fork()") and from XS or C modules. FUNCTIONS
The following functions will be exported on demand. capture() capture &subroutine, $stdout, $stderr; Captures everything printed to "STDOUT" and "STDERR" for the duration of &subroutine. $stdout and $stderr are optional scalars that will contain "STDOUT" and "STDERR" respectively. "capture()" uses a code prototype so the first argument can be specified directly within brackets if desired. # shorthand with prototype capture { print __PACKAGE__ } $stdout, $stderr; Returns the return value(s) of &subroutine. The sub is called in the same context as "capture()" was called e.g.: @rv = capture { wantarray } ; # returns true $rv = capture { wantarray } ; # returns defined, but not true capture { wantarray }; # void, returns undef "capture()" is able to capture output from subprocesses and C code, which traditional "tie()" methods of output capture are unable to do. Note: "capture()" will only capture output that has been written or flushed to the filehandle. If the two scalar references refer to the same scalar, then "STDERR" will be merged to "STDOUT" before capturing and the scalar will hold the combined output of both. capture &subroutine, $combined, $combined; Normally, "capture()" uses anonymous, temporary files for capturing output. If desired, specific file names may be provided instead as additional options. capture &subroutine, $stdout, $stderr, $out_file, $err_file; Files provided will be clobbered, overwriting any previous data, but will persist after the call to "capture()" for inspection or other manipulation. By default, when no references are provided to hold STDOUT or STDERR, output is captured and silently discarded. # Capture STDOUT, discard STDERR capture &subroutine, $stdout; # Discard STDOUT, capture STDERR capture &subroutine, undef, $stderr; However, even when using "undef", output can be captured to specific files. # Capture STDOUT to a specific file, discard STDERR capture &subroutine, $stdout, undef, $outfile; # Discard STDOUT, capture STDERR to a specific file capture &subroutine, undef, $stderr, undef, $err_file; # Discard both, capture merged output to a specific file capture &subroutine, undef, undef, $mergedfile; It is a fatal error to merge STDOUT and STDERR and request separate, specific files for capture. # ERROR: capture &subroutine, $stdout, $stdout, $out_file, $err_file; capture &subroutine, undef, undef, $out_file, $err_file; If either STDOUT or STDERR should be passed through to the terminal instead of captured, provide a reference to undef -- "undef" -- instead of a capture variable. # Capture STDOUT, display STDERR capture &subroutine, $stdout, undef; # Display STDOUT, capture STDERR capture &subroutine, undef, $stderr; capture_exec() ($stdout, $stderr, $success, $exit_code) = capture_exec(@args); Captures and returns the output from "system(@args)". In scalar context, "capture_exec()" will return what was printed to "STDOUT". In list context, it returns what was printed to "STDOUT" and "STDERR" as well as a success flag and the exit value. $stdout = capture_exec('perl', '-e', 'print "hello world"'); ($stdout, $stderr, $success, $exit_code) = capture_exec('perl', '-e', 'warn "Test"'); "capture_exec" passes its arguments to "system()" and on MSWin32 will protect arguments with shell quotes if necessary. This makes it a handy and slightly more portable alternative to backticks, piped "open()" and "IPC::Open3". The $success flag returned will be true if the command ran successfully and false if it did not (if the command could not be run or if it ran and returned a non-zero exit value). On failure, the raw exit value of the "system()" call is available both in the $exit_code returned and in the $? variable. ($stdout, $stderr, $success, $exit_code) = capture_exec('perl', '-e', 'warn "Test" and exit 1'); if ( ! $success ) { print "The exit code was " . ($exit_code >> 8) . " "; } See perlvar for more information on interpreting a child process exit code. capture_exec_combined() ($combined, $success, $exit_code) = capture_exec_combined( 'perl', '-e', 'print "hello "', 'warn "Test " ); This is just like "capture_exec()", except that it merges "STDERR" with "STDOUT" before capturing output. Note: there is no guarantee that text printed to "STDOUT" and "STDERR" in the subprocess will be appear in order. The actual order will depend on how IO buffering is handled in the subprocess. qxx() This is an alias for "capture_exec()". qxy() This is an alias for "capture_exec_combined()". SEE ALSO
o IPC::Open3 o IO::Capture o IO::Utils o IPC::System::Simple AUTHORS
o Simon Flack <simonflk _AT_ cpan.org> (original author) o David Golden <dagolden _AT_ cpan.org> (co-maintainer since version 1.04) COPYRIGHT AND LICENSE
Portions copyright 2004, 2005 Simon Flack. Portions copyright 2007, 2008 David Golden. All rights reserved. You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file. perl v5.10.1 2010-02-15 IO::CaptureOutput(3pm)
All times are GMT -4. The time now is 09:54 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy