Make script that run with argument if not run from configuration file argument


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Make script that run with argument if not run from configuration file argument
# 1  
Old 10-26-2011
Make script that run with argument if not run from configuration file argument

Hello,

Is there any method thorugh which script can take argument if pass otherwise if argument doesn't pass then it takes the argument from the configuration file

i.e I am workiing on a script which will run through crontab and the script will
chekout the code ,zip and copy to the particular location.

But the script should be in this way

if someone pass the argument then it will checkout that code else if argument doesn't pass then it will take the argument from the configuration file.

Thanks
# 2  
Old 10-26-2011
In my opinion this is more logic than script problem. You can do something like:
Code:
# Check if you have arguments to your scripts (maybe using getopts)
# If not, check and load data from configuration file
if [ ${#} -eq 1 ]
then
    zipCode=${1}
else
    # Load configuration file
    . <configuration file>
fi

I hope it helps! At least a start point for you...
# 3  
Old 10-26-2011
Or set all the values by sourcing the configuration file and let the passed argument (if any) over-write...
# 4  
Old 10-26-2011
Code:
#!/bin/bash

## define some functions

clr() {
rm -f ${1}* && echo 'all process are ok:)'
}

zipping() {
zipf=$(mktemp)
zip -rv9 $zipf.zip $1 ; chk $? zip $zipf
cpping $zipf.zip $2;clr $zipf
}

tgzzing() {
tgzf=$(mktemp)
tar -czf $mytgz.tgz $1 ; chk $? tgz $tgzf
cpping $mytgz.tgz $2;clr $tgzf
}

rarring() {
rarf=$(mktemp)
rar_static a $rarf.rar $1 ; chk $? rar $rarf
cpping $rarf.rar $2 ; clr rarf
}

cpping() {
cp $1 $2/${sour//\//_}_`date +%F__%H-%M-%S`.${1##*.}
[ $? -ne 0 ] && echo '$2 process is fail!!'
}

chk() {
if [ $1 -ne 0 ] ; then echo "$2 process is fail!";exit 1;fi
}

menu() {
echo -e '1-)zip&cp\n2-)tgz&cp\n3-)rar&cp'
 read -p "Please select your process ? " i
case $i in
 1)zipping $sour $targ;;
 2)tgzzing $sour $targ;;
 3)rarring $sour $targ;;
 *)echo "invalid process!! ; exiting!!";exit 1;;
esac
}

## specify conf file
conff=/home/conff

## Only first TWO parameter will be considered as source/target ##
if [ $# -eq 0 ] ; then
  echo "parametre(s) trying to take from '$conff' file";sleep 0.5
  sour=$(awk '{print $1 }' $conff);targ=$(awk '{print $2}' $conff)
  menu;
else
sour=$1;targ=$2;menu
fi

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script run in a case statement call to run a php file, also Perl

Linux System having all Perl, Python, PHP (and Ruby) installed From a Shell script, can call a Perl, Python, PHP (or Ruby ?) file eg eg a Shell script run in a case statement call to run a php file, also Perl or/and Python file??? Like #!/usr/bin/bash .... .... case $INPUT_STRING... (1 Reply)
Discussion started by: hoyanet
1 Replies

2. Shell Programming and Scripting

Pass argument in script to run specific part in that

Hello Friends, I need you help ! I have a scripts names runsteps.sh which contains command to run bunch of commands for each application you want to install " Oracle " Jboss" etc echo " Which app you want to install Jboss" ? Yes or no? read ans depending on Yes or not it goes inside... (3 Replies)
Discussion started by: saurabh84g
3 Replies

3. Shell Programming and Scripting

help to make script run recursively

I have this little bash script I use to transcode mkv files using handbrake. #!/bin/bash sourcedir="/media/raid10/video/to_be_encoded_series" destdir="/media/raid10/video/series" cd "$sourcedir" for i in *.mkv; do HandBrakeCLI -i "$i" -o "$destdir/${i%.*}.mkv" -e x264 -q 20.0 -E copy -B... (4 Replies)
Discussion started by: barrydocks
4 Replies

4. UNIX for Advanced & Expert Users

Error:--test: argument expected--Even though i give an argument.

Hi All, I am running the script VBoxManage list vms |sed 's/"//g' | cut -d " " -f1 > har1out.mytxt result=`cat har1out.mytxt | grep $1' echo $result echo $1 { if then echo pass else echo fail fi (2 Replies)
Discussion started by: harsha85
2 Replies

5. Shell Programming and Scripting

Cannot compare argument in if statement in csh/grep command if argument starts with “-“

If ($argv == “-debug”) then Echo “in loop” Endif But this is not working. If I modify this code and remove “-“, then it works. Similarly I am getting problem using grep command also Grep “-debug” Filename Can someone please help me on how to resolve these... (1 Reply)
Discussion started by: sarbjit
1 Replies

6. Shell Programming and Scripting

How to use perl to run bash with argument?

Hi All, I want to run a bash script using perl. But they are in the different dir. #! /usr/bin/perl -w use strict; my $root=`pwd`; chomp($root); my $cmd=".$root/testdir/ft_623.sh 3 4 5 6 7"; print $cmd; my @line=`$cmd`; foreach (@line){ print $_; } ft_623.sh (0 Replies)
Discussion started by: Damon sine
0 Replies

7. Shell Programming and Scripting

Need to run the script by argument passing

Hi All, I have a question regarding running this script by passing an argument, for example ./ShellParse.sh sun, how do i do that? So i want when i pass argument sun, it shouild execute things inside the for loop. I want to support some other platforms too, so there are more for loops to... (3 Replies)
Discussion started by: asirohi
3 Replies

8. Shell Programming and Scripting

Run with argument

I have created shell script to run sql query something like below. i can use this script with only few arguments. But how can i modify the script if empno is huge in numbers. For example ./script.ksh 1234 select * from emp where empno in $1 (2 Replies)
Discussion started by: ford2020
2 Replies

9. Shell Programming and Scripting

get positive number n as argument script must calculate the factorial of its argument

Can someone please help me with this SHELL script? I need to create a script that gets a positive number n as an argument. The script must calculate the factorial of its argument. In other words, it must calculate n!=1x2x3x...xn. Note that 0!=1. Here is a start but I have no clue how to... (3 Replies)
Discussion started by: I-1
3 Replies

10. Shell Programming and Scripting

How to make a script to run everytime a new file is copied into a directory??

Hi folks I have a unix script script1 in a directory folder1 and also I have few input log files in this directory. My input log files will be copied into this directory folder1 from the portable thumb drive. Now what I want is I need to run this script1 whenever any new file is copied... (2 Replies)
Discussion started by: ks_reddy
2 Replies
Login or Register to Ask a Question