re-direction


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting re-direction
# 1  
Old 04-07-2009
re-direction

Say I have a single bin directory with Linux and SunOS executables, like this:

bin/myprog_lnx
bin/myprog_sun

Assume these programs read from stdin and write to stdout and, thus, are meant to be run like this:

myprog_lnx < filein > fileout

My users may log in from a Linux or Solaris client and I don't want to bother them with the suffix...I would like them to simply run the program like this:

myprog < filein > fileout

So, it occurs to me, that I could have a korn shell named "myprog" that when run, it checks for the OS and runs the appropriate executable...

Question: how can the arguments and re-direction typed at the command line after the shell script be passed to the command inside the shell script?

In other words, when I run my shell like this:

> myprog < filein > fileout

in Solaris, the shell should execute
myprog_sun < filein > fileout

when in Linux, the shell should execute
myprog_lnx < filein > fileout




==myprog====
#!/bin/sh

if [[ `uname` = 'SunOS' ]] ; then
suffix='_sun'
elif [[ `uname` = 'Linux' ]] ; then
suffix='_lnx'
fi

myprog${suffix} < filein > fileout <<< how to accomplish this effect???

==myprog====

Thanks in advance for any hints you may offer.

gsal
# 2  
Old 04-07-2009

Code:
case `uname` in
  SunOS) cmd=myprog_sun ;;
  Linux) cmd=myprog_lnx ;;
esac

$cmd < filein > fileout

# 3  
Old 04-07-2009
Hhhmmm...that is not exactly what I am asking.

Let's say that the short script you show above is named "prog"...can you type

prog < infile > outfile

at the command line and works? I don't think so...so, what I attempted to describe is a request for code that transfers the options/arguments given to the wrapping script to a command inside the script....

The thing is that options/argument seem to stop being reported after the first re-direction, so, I can't see infile and outfile inside the shell...is this correct, or am I missing something.

Thanks,

gsal
# 4  
Old 04-07-2009
I just found something somewhere else...don't quite understand it, but here it is


trap 'kill $!; exit 1' INT QUIT TERM

if [[ -t 0 ]] ; then
$cmd $*
else
tee /tmp/${somethingUniq}_in_data 1>/dev/null
$cmd </tmp/${somethingUniq}_in_data $* &
fi

pid=$!
wait $pid

# Preserve the exit status
EXITSTAT=$?
exit $EXITSTAT


gsal
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Error re-direction and Return code

Hi, I have a shell script which executes some sql. When the shell script executes the sql's logging is shown on the console. I need to grep some data from this output shown on console. So I do the following hive -f load.adj.hql 2>&1 | tee c.txt echo $? A=`grep num_rows c.txt` $? will... (1 Reply)
Discussion started by: wahi80
1 Replies

2. Shell Programming and Scripting

Search and Destroy Script Direction Help

Being a beginner in scripting I am not sure the direction to take to accomplish the below task and would love suggestions. GOAL input file: domains.list Read input file, search in named.conf and find domain and delete entry for the purpose of cleanup activity. named.conf entry example zone... (8 Replies)
Discussion started by: djzah
8 Replies

3. Shell Programming and Scripting

Script going upward and downward direction

Hello, I have a log file as shown below. Each line starts with instance nr. : Session: IP Processing HTTP Socket Command : Connecting User-Agent Media: : NOT Rejected Media : Session: Username Request Channel : Username : Check if he is in User Database : Username : not in the... (6 Replies)
Discussion started by: baris35
6 Replies

4. AIX

New to aix virtualization direction ?

picked up a 9111-520 p5 hardware recently with 8 Gig of RAM, lots of internal disk space...6 x 140 gig had 7.1 pre-installed, and managed to upgrade the firmware to latest SF240_xxxx goal is to virtualize this and have LPARs running aix 7.1, 6.x, and Rhat for ppc .. need some... (13 Replies)
Discussion started by: ppchu99
13 Replies

5. Fedora

In need of some direction

Okay, so I'm not a complete newb when it comes to using Unix/Linux. I've been using Ubuntu for a few years now and I've dipped my toes into a few other distros but now I want to get a bit serious. I'm looking at becoming a sysadmin but the trouble is...I have no idea where to start. What I'm... (1 Reply)
Discussion started by: Tamachan87
1 Replies

6. Fedora

Need Direction for extra work ?

Hey , I have become pretty normal, using unix and what not and working around FEDORA 9 I was wondering does anyone have any IDEAS or have anything I should try to build or scripts to write , or possibly know any sites where I could practice some things just so I know I am writing them... (2 Replies)
Discussion started by: Producer
2 Replies

7. Programming

Daemon direction. Or, What do I need to watch for?

Hi, I'm writing my first daemon application. I need to make sure I cover my bases as far as correct procedures, etc... I've tried to do my own legwork by reading as much as I could on daemonizing programs, etc... There are so many different examples, some include this but not that, etc...... (3 Replies)
Discussion started by: mph
3 Replies

8. Programming

In what direction should I take computer programming?

I'm a senior in high school trying to start getting into computer programming. All I've done so far is picked up a book on C for beginners and started to teach myself. There aren't really any courses at my high school for introductory programming, so it looks like I'll have to wait for college to... (7 Replies)
Discussion started by: Fritzz
7 Replies

9. UNIX for Dummies Questions & Answers

New & could use some direction!

First, I just rebuilt/installed my custom kernel & I don't know how to check if it ran properly (I'm fairly sure it did, but I'm looking for reassurance that it loaded the new kernel file). Second, I'd love to get into programming, scripting, whatever, I want my imagination to be the builder &... (2 Replies)
Discussion started by: LazySpoon
2 Replies
Login or Register to Ask a Question