08-23-2007
Quote:
Originally Posted by
jim mcnamara
To return a string echo "the string" as the last line of the function and then call the function as a subprocess
with either ` ` backtics or $ ( )
When you call a function in ` ` or $( ), the child process is spawned. Am I right?
Therefore, the statement echo "read command" does not print out to the shell I am running the script. How can I print it out to the running shell if I use the function that is called in ` ` or $( ). The echo statement is in that function.
Last edited by lalelle; 08-23-2007 at 04:14 PM..
Reason: missing words
10 More Discussions You Might Find Interesting
1. Programming
I have a question concerning string functions. I have not been able to locate a function that does what I want, so I fugured I'd ask before I wrote on myself.
Is there a function to which I can pass 2 strings (character string a and character string b) and have it tell me if string b appears... (7 Replies)
Discussion started by: jalburger
7 Replies
2. Shell Programming and Scripting
Hi
I have a small function which returns a wrong value.
The function tries to make a connection to oracle database and tries to get the open_mode of the database in the variable status.
However when a database is down the value of the status column is set to READWRITE i am not sure why.
I... (0 Replies)
Discussion started by: xiamin
0 Replies
3. UNIX for Dummies Questions & Answers
Sometimes I observe this in gdb:
(gdb) br my_function
Breakpoint .. at 0x...: file ..., line ...
i.e., "my_function" does exist in the current executable.
however, dlsym does not find it:
(gdb) p dlsym(0,"my_function")
$6 = 0
This is a C program; dlsym does find other defined functions and... (2 Replies)
Discussion started by: sds
2 Replies
4. Shell Programming and Scripting
hello
I have a file with lines of info separated with "|"
I want to amend the second field of the last line, using AWK
my problem is with geting awk to return the last line
this is what I am using
awk 'END{ print $0 }' myFile
but I get an empty result
I tried the... (13 Replies)
Discussion started by: TasosARISFC
13 Replies
5. Shell Programming and Scripting
Hi all,
I need help figuring out why my script won't work when envoked from web interface. First off, I'm fairly new to Linux and Shell scripting so, my apologies for being ignorant!
So I have a python script that I envoke through a web interface. This script envokes my shell script and... (8 Replies)
Discussion started by: arod291
8 Replies
6. Shell Programming and Scripting
I need help to store the value returned from the function to one variable and then use that variable.
PREVIOUS_DATE_FUNCTION()
{
date '+%m %d %Y' |
{
read MONTH DAY YEAR
DAY=`expr "$DAY" - 1`
case "$DAY" in
0)
MONTH=`expr "$MONTH" - 1`
case... (1 Reply)
Discussion started by: aroragaurav.84
1 Replies
7. Shell Programming and Scripting
Hi,
I need to return a value from the function. the value will be the output from cat command which uses random fucntion.
#!/bin/ksh
hello()
{
var1=$(`cat /dev/urandom| tr -dc 'a-zA-Z0-9-!%&()*+,-/:;<=>?_'|fold -w 10 | head -n 1`)
echo "value is" var1
return var1
}
hello
var=$?... (2 Replies)
Discussion started by: Nandy
2 Replies
8. Shell Programming and Scripting
Hello All,
I am trying to get the value "node01_mymachine" and disregard the rest of the returned string (command ran*) from myscript.sh
$ myscript.sh GetNodeName
node01_mymachine
Command ran successfully.
If I called from another script like this:
anyprocess=`myscript.sh... (2 Replies)
Discussion started by: msetjadi
2 Replies
9. Shell Programming and Scripting
I'm having a little trouble returning a value from a function or calling it, I'm not quite sure.
I'm calling the function here
function region_lookup_with_details {
results = $(set_region)
echo $results
}
This is the function I'm calling
function set_region {
... (8 Replies)
Discussion started by: akechnie
8 Replies
10. Shell Programming and Scripting
Hi,
Anyone can help using SED searches a character string for a specified delimiter character, and returns a leading or trailing space/blank.
Text file :
"1"|"ExternalClassDEA519CF5"|"Art1"
"2"|"ExternalClass563EA516C"|"Art3"
"3"|"ExternalClass305ED16B8"|"Art9"
...
...
... (2 Replies)
Discussion started by: fspalero
2 Replies
LEARN ABOUT CENTOS
shell-quote
SHELL-QUOTE(1) User Contributed Perl Documentation SHELL-QUOTE(1)
NAME
shell-quote - quote arguments for safe use, unmodified in a shell command
SYNOPSIS
shell-quote [switch]... arg...
DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands
or files with embedded white space or shell globbing characters safely. Here are a few examples.
EXAMPLES
ssh preserving args
When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and
passes them to "$SHELL -c". This doesn't work as intended:
ssh host touch 'hi there' # fails
It creates 2 files, hi and there. Instead, do this:
cmd=`shell-quote touch 'hi there'`
ssh host "$cmd"
This gives you just 1 file, hi there.
process find output
It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to
split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote:
eval set -- `find -type f -print0 | xargs -0 shell-quote --`
debug shell scripts
shell-quote is better than echo for debugging shell scripts.
debug() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can.
save a command for later
shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command
you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are
things the user can't pass through), you can do something like this:
user_switches=
while [ $# != 0 ]
do
case x$1 in
x--pass-through)
[ $# -gt 1 ] || die "need an argument for $1"
user_switches="$user_switches "`shell-quote -- "$2"`
shift;;
# process other switches
esac
shift
done
# later
eval "shell-quote some-command $user_switches my args"
OPTIONS
--debug
Turn debugging on.
--help
Show the usage message and die.
--version
Show the version number and exit.
AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions.
AUTHOR
Roderick Schertler <roderick@argon.org>
perl v5.16.3 2010-06-11 SHELL-QUOTE(1)