arguments in bash


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting arguments in bash
# 1  
Old 12-18-2011
Java arguments in bash

this script moves all the doc files to a specified directory....i have managed to put an argument but the problem im facing is puting the full path where the scripts are moving to for example i want to run the script like this below

./loo -d then path where im moving the files (i.e ./loo -d the second argument where files are moving to)

this is my code

Code:
#!/bin/bash
From="/home/elg19/lone/doc"
To="/home/elg19/documents"

if [ $1 = -d ]; then
cd "$From"
for i in pdf txt doc; do
  find . -type f -name "*.${i}" -exec mv "{}" "$To" \;
done
fi


Last edited by radoulov; 12-18-2011 at 07:10 AM.. Reason: Code tags!
# 2  
Old 12-18-2011
You may try something like this:

Code:
#!/bin/bash

From=/home/elg19/lone/doc
To=/home/elg19/documents

while getopts :d: opt; do
  case $opt in
    ( d ) To=$OPTARG                                                 ;;
    ( ? ) printf >&2 'usage: %s -d <dest_dir>\n' "${0##*/}"; exit 1  ;;
  esac
done

shopt -s nullglob

mv -- "$From"/*.{pdf,txt,doc} "$To/"

Note that there is no recursion in this case,
let me know if you really need to move the files
from the From directory an its subdirectories.

If the filenames exceed the ARG_MAX limit of your system, you will need xargs.

Last edited by radoulov; 12-18-2011 at 07:45 AM.. Reason: Simplified.
# 3  
Old 12-19-2011
i want to replace $To in the existing script with the command argument after -d ...
this code is not working i dont know why....
Code:
#!/bin/bash
From="/home/elg19/lone/doc"
To=$2

if [ $1 = -d ]; then
cd "$From"
for i in pdf txt doc; do
find . -type f -name "*.${i}" -exec mv "{}" "$To" \;
done
fi


Last edited by radoulov; 12-19-2011 at 03:11 AM.. Reason: Code tags!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

[bash] cd: too many arguments

Hello everyone, Could someone please explain to me why I get cd: too many arguments when I select a dir that has one or more spaces in the name? This is the code #!/bin/bash tmp_loc=$(zenity --file-selection --directory) if ]; then exit 0 else location=${tmp_loc// /\\ } # this... (7 Replies)
Discussion started by: soichiro
7 Replies

2. Shell Programming and Scripting

Passing arguments to a bash script

Hi, I wanted to pass an argument to a bash script. So that the argument is used inside the awk command inside the bash script. I know the noraml way of passing argument to a bash script as below : sh myScript.sh abc Inside the bash script i can use like this myArg1=$1 wc $myArg But... (8 Replies)
Discussion started by: shree11
8 Replies

3. Shell Programming and Scripting

Bash script with arguments

Could someone help me with the script below? I am trying to make a script having just one arguement as a command and then it executes the appropriate code #!/bin/bash if then echo "Available commands:" echo "./exec.sh cmd1" echo "./exec.sh cmd2" elif then cmd1 =... (1 Reply)
Discussion started by: spiridakos
1 Replies

4. Shell Programming and Scripting

arguments in bash

This script moves all the doc files to a specified directory. I have managed to put an argument but the problem I am facing is putting the full path where the scripts are moving to, for example I want to run the script like this below ./loo -d then path where im moving the files (i.e ./loo -d... (3 Replies)
Discussion started by: elginmulizwa
3 Replies

5. Shell Programming and Scripting

bash read within function with arguments

I have trouble getting this logic to work #!/bin/bash function assign_var(){ while do read -p "$2 :" $3 done } assign_var '$IPADDRESS' ipaddress IPADDRESS Basicly, i want to make sure that entry is made (i can add more sophisticated checks later), but the idea is to recycle... (11 Replies)
Discussion started by: serverchief
11 Replies

6. Shell Programming and Scripting

Bash too many arguments error

Hello, I've got this little script that gets a bunch of comics and puts them in an html file. However, when I check that the comic URL is there and that it's a new one, I get the "too many arguments" error. The script is this: CADURL=`curl --silent http://www.cad-comic.com/cad/ | grep -o... (10 Replies)
Discussion started by: killer54291
10 Replies

7. Homework & Coursework Questions

BASH Environment Variables as arguments?

1. The problem statement, all variables and given/known data: Write a shell program called myenv which takes one argument. The argument should be the name of an environment variable, such as PATH HOME etc. myenv should print out the value of the variable given as the argument. If no argument is... (1 Reply)
Discussion started by: Helix
1 Replies

8. Shell Programming and Scripting

bash functions arguments

This script is called fuu; #!/bin/bash speak() { case $1 in 1)echo one ;; 2)echo two ;; 3)echo three ;; esac } speak exit 0 when i run fuu 2 i expect "two" like... (2 Replies)
Discussion started by: Tártaro
2 Replies

9. Shell Programming and Scripting

Make a list in bash out of arguments

Hello, I have a very stupid/simple problem, but for some reason I cannot figure out...and I need your help! I am writting a bash scrip that should be executed using "my_script X Y Z T" where X Y Z and T can be any string, but there can be any number of arguments. I want my script to do... (4 Replies)
Discussion started by: jolecanard
4 Replies

10. Shell Programming and Scripting

Bash Shell - # of arguments

Hi!, How can I check the number of arguments passed from the shell in a bash shell ? (1 Reply)
Discussion started by: DNAx86
1 Replies
Login or Register to Ask a Question