07-04-2008
Return shell value to a VI macro
Hi,
Have searched around for a solution to this and get frustrating close but have not nailed it.
vi on HP-UX
what I'm trying to do is utilise the key mapping available within Vi to run a shell script which uses awk script to scan the file i'm working on and return the line number or unique pattern (could go either way but the principle im trying to achieve is pass a value back so that vi macro can then utilise it)
The closest ive got via Google is
The most powerful macros, however, are created using programs combined
into shell scripts (or DOS batch files), and acting as filters on the text
sent to them from within vi. Such shell scripts or programs must take standard
input and send results to standard output (which most UNIX tools do).
but guess what no example! I've tried more in hope than expectation to set a map command as follows:
map ^[[O ^[: !line_test^M
where line_test is hard coded to echo out a line number which then can but as expected all it does is echo out the line number and is not interpreted as the line number I wanted to go to.
I subsequently modified the script to exit with a value and then tried to use $?
map ^[[O :!line_test : ^[: $?^M
but get error badly formatted address
any help greatly appreciated.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
in shifts we used to run a script where in we need to choose from different options. for example the first part would go like this:
========
menu
========
1)blah
2)blah blah
3)blah blah blah
you have chosen:
then after that a series of multiple choice so on and so forth...what i would... (4 Replies)
Discussion started by: inquirer
4 Replies
2. Shell Programming and Scripting
Hi all. I need to use excel macro at my desktop to launch a csh script which is in a solaris environment. What is the code that i can use in macro to help me with that ? Basically, the code need to telnet or ftp to the solaris environment and just run the script and the macro will output in an... (1 Reply)
Discussion started by: Raynon
1 Replies
3. UNIX for Dummies Questions & Answers
Hi ,
i have written a shell scipt to call a procedure and get the value back from procedure.But i am facing the issue like
#!/bin/sh
returnedvalue=`sqlplus -s userid/pass<<EOF
set serveroutput on;
exec pass($1)
set serveroutput off;
EXIT;
EOF`
flag=`echo $returnedvalue `
echo "$flag"... (2 Replies)
Discussion started by: ravi214u
2 Replies
4. Programming
I think there is no problem to use any macro in a new macro definishion, but I have a problem with that.
I can not understand why?
I have a *.mak file that inludes file with many definitions and rules.
##############################################
include dstndflt.mak
...
One of the... (2 Replies)
Discussion started by: alex_5161
2 Replies
5. Shell Programming and Scripting
im using bourne shell
In file scriptA i add a new function, test_return()
test_return()
{
a=1
return $a
}
when i try execute ,
a='/''/scriptA test_return
echo $a
its give me error..
scriptA: cannot return when not in function
ist any solution for this problem..
How... (1 Reply)
Discussion started by: neruppu
1 Replies
6. Shell Programming and Scripting
I'm a bit stuck in getting variable from awk to shell. I tried searching but most of them showing to assign to shell variable via..
VAR=`echo $line | awk -F: '{print $1}'`
which is correct ofcourse
My problem is multiple assignments of variable like this one. The above solution will give... (10 Replies)
Discussion started by: ryandegreat25
10 Replies
7. Shell Programming and Scripting
Hello folks,,,
I am calling a Unix shell script from java. The unix script is transferring a file through FTP. I wonder how can I confirm whether the script has been executed properly without any error. Is there any way to find the return value from the script.
My FTP script is given below
... (3 Replies)
Discussion started by: dinesh1985
3 Replies
8. UNIX for Dummies Questions & Answers
there is something wrong with my system. when I do this:
diff file1 file1 && echo 1
the output is 1.
but
diff file1 file2 >/dev/null && echo 1
output nothing
while
diff file1 file2 >/dev/null || echo 1
shows 1.
the same with "grep" return status. they are both GNU utilities.... (5 Replies)
Discussion started by: phil518
5 Replies
9. Shell Programming and Scripting
Hi All,
There are 2 scripts A and B.
A --> It will invoke script B
B -->
It will generate below output.
100 - connected
105 - Not Connected
210 - Connected
I want to return this value to script A. Please advice. (4 Replies)
Discussion started by: Girish19
4 Replies
10. Shell Programming and Scripting
Hi, I need to send the return code from a script to the parent shell script.
But i am suppressing outputs while calling the child script.
Is there any way still to get the return code from the child script with suppress output.
Below is my script:
I am using :$ while calling return.sh... (5 Replies)
Discussion started by: usrrenny
5 Replies
LEARN ABOUT MOJAVE
escape
escape(1) Mail Avenger 0.8.3 escape(1)
NAME
escape - escape shell special characters in a string
SYNOPSIS
escape string
DESCRIPTION
escape prepends a "" character to all shell special characters in string, making it safe to compose a shell command with the result.
EXAMPLES
The following is a contrived example showing how one can unintentionally end up executing the contents of a string:
$ var='; echo gotcha!'
$ eval echo hi $var
hi
gotcha!
$
Using escape, one can avoid executing the contents of $var:
$ eval echo hi `escape "$var"`
hi ; echo gotcha!
$
A less contrived example is passing arguments to Mail Avenger bodytest commands containing possibly unsafe environment variables. For
example, you might write a hypothetical reject_bcc script to reject mail not explicitly addressed to the recipient:
#!/bin/sh
formail -x to -x cc -x resent-to -x resent-cc
| fgrep "$1" > /dev/null
&& exit 0
echo "<$1>.. address does not accept blind carbon copies"
exit 100
To invoke this script, passing it the recipient address as an argument, you would need to put the following in your Mail Avenger rcpt
script:
bodytest reject_bcc `escape "$RECIPIENT"`
SEE ALSO
avenger(1),
The Mail Avenger home page: <http://www.mailavenger.org/>.
BUGS
escape is designed for the Bourne shell, which is what Mail Avenger scripts use. escape might or might not work with other shells.
AUTHOR
David Mazieres
Mail Avenger 0.8.3 2012-04-05 escape(1)