Referencing a range of parameters?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Referencing a range of parameters?
# 1  
Old 05-02-2004
Referencing a range of parameters?

I can't seem to find anywhere how to syntactically reference a range of parameters in the script I am trying to write.

My script requires at least 2 parameters to run, with parameter 1 being the main file, which I want appended to x amount of target files, which will be parameters 2 through whatever.

I know how to reference parameters separately like $1, $2, etc., and how to reference all parameters like $#, but how can I reference all parameters except for parameter 1?

Example:

For all parameters except $1
do
if [ ! -rw $?] then;
echo "Permission denied!"
exit
fi
done
# 2  
Old 05-02-2004
$0 represents the script that is being executed, all other command line parameters will be numbered in series begining with $1, $2, $3, ..$n.

try something like this

Code:
while [ $# -gt 0 ]
do
   #Add whatever it is you want to accomplish here!

   echo "Processing Parameter --> $1"

   #Test To See if File Exists and is writable
   if [ ! -w $1 ]
    then
       echo "Sorry. Permission Denied."
   fi

   #Get the next file.
   shift
done


Last edited by google; 05-02-2004 at 03:41 PM..
# 3  
Old 05-02-2004
Thanks. I had something similar, but I just need to work out some bugs. I was trying to combine comparative operator commands, but I guess what I have will work as well.
# 4  
Old 05-02-2004
I thought I had it pretty much all set minus some minor modifications, but I guess I was wrong. All I'm trying to do is write a simple script that will append the text from one file to the beginning of all files I list as parameters.

What I am attempting is to be able to type the command:

$ myScript file1 file2...file10

and have the contents of file1 appended to each of the files listed after. Obviously, if there are less than two parameters an error must be generated, which I have accomplished successfully. I just don't know how to get the script to ignore the first parameter as part of the loop. I think that is my only real problem other than the error I'm getting in regards to the else statement part of my script.

Am I at least in the right ballpark with this one, or just plain lost in sauce?


#!/bin/bash

if [ $# -lt 2 ]
then
echo "Error: insufficient number of parameters."
exit 1
fi

until [ $# -eq 0 ]
do
if [ ! -rw $1 ] then;
echo "Error: permission denied."
else
cat $1 $* > /tmp/tfile
mv /tmp/tfile $*
shift
fi
done
exit 0
# 5  
Old 05-02-2004
Near the start of your script do:
save=$1
shift

Then in the loop:
cat $save $1 > tempfile
mv tempfile $1

Remember that each "shift" eats the old $1. And so the old $2 becomes the new $1 and so on.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Dynamically referencing a Path

How would I reference a source path (where I have a script pulling data from) that changes location? For example, a Mail folder is being used as a source to pull some data, but somebody could move the folder around in the GUI of Mail, changing it's location in the filesystem (that I am referencing... (11 Replies)
Discussion started by: sudo
11 Replies

2. Shell Programming and Scripting

Referencing file for values and referencing another file to replace values

Hi I have a file which has values in each line: MP304,d40000 MP310,ff0000 etc I have another file which as the first value in it and is unique in the file(not repeated). I need to replace a string with the second value above. The second file contents is as follows:(snippet) <g ... (12 Replies)
Discussion started by: majikins
12 Replies

3. Programming

Symbol referencing errors

Undefined first referenced symbol in file logf /var/tmp//ccwztFsO.o ld: fatal: Symbol referencing errors. No output written to a.out collect2: ld returned 1 exit status float exponC(float mean) { index1++;... (1 Reply)
Discussion started by: willji1234
1 Replies

4. Shell Programming and Scripting

Variable Referencing

I am referencing variables in the following way var1="greeting" greeting="Welcome!" How do I echo var1 in such a way that it outputs Welcome! ? (3 Replies)
Discussion started by: milo7
3 Replies

5. Shell Programming and Scripting

Shell Script Referencing I/O

Is it possible to design a shell script to reference something that queries for input? (This is not to make a script to ssh) For instance if I have a command that when run, it does something like: %<Some command> User's password? Would it be possible to write a script to input something... (1 Reply)
Discussion started by: Prodiga1
1 Replies

6. AIX

tuning network parameters : parameters not persist after reboot

Hello, On Aix 5.2, we changed the parameters tcp_keepinit, tcp_keepintvl and tcp_keepidle with the no command. tunrestore -R is present in inittab in the directory /etc/tunables we can clearly see the inclusion of parameters during reboot, including the file lastboot.log ... (0 Replies)
Discussion started by: dantares
0 Replies

7. Shell Programming and Scripting

Back Referencing in SED

Hi, I have tried all examples of back referencing from the web but all in vain. It would be heavily helpful if someone explains me the use of back referencing and sub expression using an example of substitution. Thanks (1 Reply)
Discussion started by: sinpeak
1 Replies

8. Programming

Symbol referencing error

Hey everyone, I can't figure out this symbol referencing error after looking at it for the longest time, and I figured some fresh eyes might be able to point something out I am overlooking. Undefined first referenced symbol in... (1 Reply)
Discussion started by: fromatz
1 Replies

9. Programming

symbol referencing error

Undefined first referenced symbol in file std::basic_ostream<char, std::char_traits<char> >::operator<<(int)/var/tmp//ccTR std::cerr /var/tmp//ccTRcjui.o std::cout /var/tmp//ccTRcjui.o... (1 Reply)
Discussion started by: suhasini
1 Replies

10. Shell Programming and Scripting

Referencing variables in commands

The script I am writing must be able to run several commands (tar, gzip etc) on filenames that are supplied by variables. I am unsure as to what syntax is required/ideal when referencing variables in filenames. The following is a sample command that I would like the script to execute: tar cvf... (3 Replies)
Discussion started by: mharley
3 Replies
Login or Register to Ask a Question