Script to iterate over several options


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Script to iterate over several options
# 8  
Old 03-22-2019
Although i am sure Corona688s suggestion is working fine for reasons of maintainability and understandability my suggestion is to use arrays for this kind of data. If the number of paramter sets to cycle through increases it is easier to extend this way. Something like this:

Code:
BASE=/opt/SP/
server[1]="server1" ;    user[1]="user1"  ;     dom[1]="dom1"
server[2]="server2" ;    user[2]="user2"  ;     dom[2]="dom2"
server[3]="server3" ;    user[3]="user3"  ;     dom[3]="dom3"

(( i = 1 ))
while [ $i -le ${#server[@]} ] ; do
        ssh -t "${user[$i]}@${server[$i]}" "cd $BASE/${dom[$i]} ; exec bash"
        (( i += 1 ))
done

I hope this helps.

bakunin
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Iterate over `dirs` in a bash script

I would like to iterate over `dirs`in a script, but the script will never show more than one (current) folder #! /bin/bash for i in `dirs` do echo ${i} done echo ++++++++++++++++++ for i in $( dirs -p ) do echo ${i} done echo ------------------ dirscontent=`dirs` echo... (5 Replies)
Discussion started by: alexanderb
5 Replies

2. UNIX for Dummies Questions & Answers

Script to iterate all command line arguments

Hi guys, I am having trouble with this script. What i want it to do is to iterate all command line arguments in reverse order. The code below does this fine but i need the output to print the words on separate lines instead of one line: #!/bin/bash #Takes in the arguments and displays them... (7 Replies)
Discussion started by: pipeline2012
7 Replies

3. Shell Programming and Scripting

script to iterate

Hi i need to find x in the following equation such that it satisfies this condition: y/x-ln(x)-1.24=0 how can i write a script to iterate to give random x to satisfy this equation. y is different each time too. any help with awk/shell script will be awesome! thanks (1 Reply)
Discussion started by: saint2006
1 Replies

4. Shell Programming and Scripting

shell script options

one thing i was trying to figure out is if you can give people the option to choose what they want to do in a shell script. for example, let's just say that you have a simple shell script to install a couple of programs, can you make it to where you can press a certain key to install a certain... (1 Reply)
Discussion started by: hotshot247
1 Replies

5. Shell Programming and Scripting

Need script to count specific word and iterate over number of files.

Hi Experts, I want to know the count of specific word in a file. I have almost 600+ files. So I want to loop thru each file and get the count of the specific word. Please help me on achieving this... Many thanks (2 Replies)
Discussion started by: elamurugu
2 Replies

6. UNIX for Dummies Questions & Answers

[solved] Script creation (how to include options in the script)

Hi guys i have written a script which takes the options given to him and execute itself accordingly. for example if a script name is doctortux then executing doctortux without option should made doctortux to be executed in automatic mode i.e. doctortux -a or if a doctortux is needed to run in... (4 Replies)
Discussion started by: pinga123
4 Replies

7. Shell Programming and Scripting

Passing options into a script

Afternoon all, I have been writing a script to do some selects on a table dependent on what options are selected when the script is run: #!/bin/ksh set -x set -m if then echo "usage: msglog.ksh -da <date and time> -i <interface> -m <msg> -di <direction> -mi <MIR>" exit 1 fi... (3 Replies)
Discussion started by: chris01010
3 Replies

8. Shell Programming and Scripting

Help with options and arguments to a script

I'm trying to write a script that accepts both arguments and options, e.g. ./script -h 1 -m 15 -s 30 or ./script -h 1 -m 15 -s 30 I'd like for any of the arguments and options to be optional, and the option values should be numerals only. I've tried both getopt and getopts but I... (1 Reply)
Discussion started by: Ilja
1 Replies

9. UNIX for Dummies Questions & Answers

Iterate a min/max awk script over time-series temperature data

I'm trying to iterate a UNIX awk script that returns min/max temperature data for each day from a monthly weather data file (01_weath.dat). The temperature data is held in $5. The temps are reported each minute so each day contains 1440 temperature enteries. The below code has gotten me as far as... (5 Replies)
Discussion started by: jgourley
5 Replies
Login or Register to Ask a Question
VOS_CHANGELOC(1)					       AFS Command Reference						  VOS_CHANGELOC(1)

NAME
vos_changeloc - Change a volume's entry in the VLDB SYNOPSIS
vos changeloc [-server] <new server name> [-partition] <new partition location> [-id] <volume name or ID> [-cell <cell name>] [-noauth] [-localauth] [-verbose] [-encrypt] [-noresolve] [-help] vos changel [-s] <new server name> [-p] <new partition location> [-i] <volume name or ID> [-c <cell name>] [-noa] [-l] [-v] [-e] [-nor] [-h] DESCRIPTION
The vos changeloc command changes the location of a volume in the Volume Location Database (VLDB) without needing to contact the original file server on which the volume was hosted. This is useful when a file server has gone down permanently and the data that was stored on that server has been moved to a new file server with a different name and IP address (perhaps by mounting the same /vicepX partitions on a different host). After moving the data and running vos changeloc, run vos syncvldb and then vos syncserv against the new server to ensure full synchronization of the VLDB with the file server. In essence, vos changeloc performs the same operations on the VLDB as vos move, but it does NOT move the data from one server's file system to another. CAUTIONS
Using vos changeloc changes the VLDB without modifying the file server data, so it inherently causes the VLDB to be out of sync with the data on the servers. It should only be used when recovering from server failure. If the servers are on-line, vos move should be used instead. It is highly recommended that vos syncvldb and vos syncserv be run after using the vos changeloc command to ensure properly synchronization of the VLDB with the file servers. OPTIONS
vos changeloc takes the following options: -server <new server name> Specifies the new server where the VLDB should believe the volume resides. Provide the machine's IP address or its host name (either fully qualified or using an unambiguous abbreviation). For details, see vos(1). -partition <partition name> Specifies the partition where the VLDB should believe the volume resides. Provide the -server argument along with this one. Provide the partition's complete name with preceding slash (for example, "/vicepa") or use one of the three acceptable abbreviated forms. For details, see vos(1). -id <volume name or ID> Specifies the name or volume ID number on which to operate. -cell <cell name> Names the cell in which to run the command. Do not combine this argument with the -localauth flag. For more details, see vos(1). -noauth Assigns the unprivileged identity "anonymous" to the issuer. Do not combine this flag with the -localauth flag. For more details, see vos(1). -localauth Constructs a server ticket using a key from the local /etc/openafs/server/KeyFile file. The vos command interpreter presents it to the Volume Server and Volume Location Server during mutual authentication. Do not combine this flag with the -cell argument or -noauth flag. For more details, see vos(1). -verbose Produces on the standard output stream a detailed trace of the command's execution. If this argument is omitted, only warnings and error messages appear. -encrypt Encrypts the command so that the operation's results are not transmitted across the network in clear text. This option is available in OpenAFS versions 1.4.11 or later and 1.5.60 or later. -noresolve Shows all servers as IP addresses instead of the DNS name. This is very useful when the server address is registered as 127.0.0.1 or when dealing with multi-homed servers. This option is available in OpenAFS versions 1.4.8 or later and 1.5.35 or later. -help Prints the online help for this command. All other valid options are ignored. OUTPUT
vos changeloc shows a brief message upon completion: Changed location to server2 /vicepa for volume user.jdoe EXAMPLES
The following command changes the location of the "user.jdoe" volume to be /vicepa on the file server machine "server2" while being verbose: % vos changeloc server2 a user.jdoe -verbose done Changed location to server2 /vicepa for volume user.jdoe The following command changes the location of the "user.jdoe" volume to be /vicepa on "server1" without being verbose: % vos changeloc server1 a user.jdoe Changed location to server1 /vicepa for volume user.jdoe PRIVILEGE REQUIRED
The issuer must be listed in the /etc/openafs/server/UserList file on each database server machine. If the -localauth flag is included, the issuer must instead be logged on to a server machine as the local superuser "root". SEE ALSO
vos(1), vos_move(1), vos_syncserv(1), vos_syncvldb(1) COPYRIGHT
Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com> This documentation is covered by the BSD License as written in the doc/LICENSE file. This man page was written by Jason Edgecombe for OpenAFS. OpenAFS 2012-03-26 VOS_CHANGELOC(1)