Sponsored Content
Top Forums Shell Programming and Scripting Bash script: issue changing directories in script Post 302319197 by bakunin on Sunday 24th of May 2009 03:43:58 PM
Old 05-24-2009
first off: you don't need the "cd" statement at all. And secondly, you should NEVER EVER iterate through an unknown directory with a for-loop: if the number of directory entries becomes higher you will execeed the maximum command line length and your script will fail. write it the following way:

Code:
ls ${2}/* | while read filename ; do
     do_something "$filename"
done

Another problem is the "./search.sh" you mention at the end of your code snippet. You know that you are in some arbitrary directory and not the one you have started the script in, yes?

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash Script to display directories in Path?

Hello there, As a newbie: The directories in PATH can be hard to distinguish when printed out as one line with colon .Please, can i have a sample script to display them,one to a line. Thank you. (1 Reply)
Discussion started by: debut
1 Replies

2. Shell Programming and Scripting

(w)get web server's directories + bash script

Hi everyone. I need to write a script which will download files/folders (a huge collection) to the local file server (centOS 4.4 Server), and check regularly (every 6 hours or so if any new files are present, or if the old ones were modified to update contents). Any insights on how to tackle... (2 Replies)
Discussion started by: reminiscent
2 Replies

3. Shell Programming and Scripting

Bash Script to Read & Write on different directories

Hi, root@server] df -h 121G 14G 101G 12% /home 147G 126G 14G 91% /backup We having our site files and images are storing in /backup/home/user/files/ through symbolic link created in /home directory pointing in /backup directory as following. root@server] cd /home... (1 Reply)
Discussion started by: mirfan
1 Replies

4. Shell Programming and Scripting

bash script to rename multiple directories

Hello I have a directory structure with year in format 4 digits, e.g 2009, below which is month format 1 or 2 digits, e.g 1 or 12, blow which is day format 1 or 2 digits, e.g 1 or 31. I want to change the names of lots of directories to the be Year - 4 digits , e.g 2009 - No change here... (4 Replies)
Discussion started by: garethsays
4 Replies

5. Shell Programming and Scripting

Changing File Time Stamp (Bash Script)

I need some help recovering from a "slight" screwup. We just moved 3 TB of data from one RAID Array to another. Low lever archive files. This was done with a regular cp (for some reason) and now we have lost all the timestamps on the files, and we urgently need to get the timestamps back on these... (7 Replies)
Discussion started by: chj
7 Replies

6. Shell Programming and Scripting

changing cron using bash script

How can I change the cron entries only for ABC and XYZ from dosomething_1.0.sh to nowchanged_2.0 using a bash script ? Any help will be appreciated. # # ABC 00,05,10,15,20,25,30,35,40,45,50,55 * * * * /mydir/dosomething_1.0.sh 1>/dev/null 2>&1 # # ## # DEF... (4 Replies)
Discussion started by: jville
4 Replies

7. Shell Programming and Scripting

Chose list of sub directories in a bash script file

Hi, I have a command in my bash script, searchDirectoryName.sh: DIR_NAME=$(find . -type d) echo "${DIR_NAME}" . ./Dir1 ./Dir1/1.0.2.1 ./Dir2 ./Dir2/1.1 ./Dir3 ./Dir3/2.2.1 How can I select only following directory names with second subdirectoies and without first ./ in the... (3 Replies)
Discussion started by: hce
3 Replies

8. Shell Programming and Scripting

Changing script from csh to bash

Hello Guys I have a script working fine on csh, but I would like to change it to bash, how I should change this command to be able to work as bash script. :wall: if ( $fsw > "0" ) then foreach swath ( `awk 'BEGIN {for (i='$fsw';i<='$lsw';i++) printf ("%s\n", i) }'` ) ## work to be done... (2 Replies)
Discussion started by: jiam912
2 Replies

9. UNIX for Beginners Questions & Answers

Connecting and changing variables in Bash script

#!/bin/bash X=$(</home/cogiz/computerhand.txt) # (3S 8C 2H 6D QC 8S 4H 5H) Y=$(</home/cogiz/topcardinplay.txt) # KS A=( "${Y::1}" ) B=( "${Y:1}" ) for e in ${X}; do if ]; then # searching for valid cards K,S or 8 ... (0 Replies)
Discussion started by: cogiz
0 Replies

10. Shell Programming and Scripting

Changing date using bash script

I am trying to change dates in a bash script. I have a start time and an endtime and want to increment the times. Basically the month and day have to be incremented in a loop to create two strings, stm and etm defining the start and end times. stm="2014-05-13T00:00:00"... (4 Replies)
Discussion started by: novilatte
4 Replies
vboxtcl(5)						    Linux System Administration 						vboxtcl(5)

NAME
vboxtcl - tcl commands for vboxgetty CONTENT
With vbox version 2.0, tcl can be used as a script language to act on incoming calls. Incoming calls are still taken by vboxgetty, but further actions are made by the tcl script. VARIABLES
These are additional variables supplied by vboxgetty. vbox_var_bindir directory with vbox commands. vbox_var_savename name for this message to save. The name is constructed from time and process id. It's a good idea to use this name, but you can also use a different name. vbox_var_rectime maximum seconds to record. vbox_var_spooldir path of the users spool directory (/var/spool/vbox/<user>). vbox_var_checknew path for new files (/var/spool/vbox/<user>/incoming). vbox_msg_standard filename with full path of the message to play as the standard message (/var/spool/vbox/<user>/messages/standard.msg). vbox_msg_beep filename with full path of the message to play as beep (/var/spool/vbox/<user>/messages/beep.msg). vbox_msg_timeout filename with full path of the message to play after a timeout (/var/spool/vbox/<user>/messages/timeout.msg). vbox_caller_id CALLERID of current caller. If unknown, this is "0". vbox_caller_phone full phone number of current caller. If unknown, this is "*** Unknown ***". vbox_caller_name name of current caller. If unknown, this is "*** Unknown ***". vbox_user_name name of the user that runs this vboxgetty. vbox_user_home home directory of the user that runs this vboxgetty. vbox_flag_standard this is TRUE if the script should play the standard message, and FALSE if the script should not. vbox_flag_beep this is TRUE if the script should play the beep message, and FALSE if the script should not. vbox_flag_timeout this is TRUE if the script should play the timeout message, and FALSE if the script should not. vbox_flag_record this is TRUE if the script should record a message, and FALSE if the script should not. FUNCTIONS
vboxgetty also provides some additional functions to the user. Return Codes Most functions will use these return codes: ERROR An error occurred. HANGUP The connection was ended. Script should end now. OK The whole message was played, nothing occurred. Any other error code is a touchtone sequence, that was detected during playing the message. vbox_breaklist <add|rem> <sequence> [...] With this command you can control which touchtone sequences vboxgetty will recognize. Touchtone sequences have the format *NUMBER#, where NUMBER is a sequence of the characters 0-9 and A-D. Even single numbers must be given in the format *NUMBER#. Vboxgetty detects if the caller gives a number as a single digit or as a part of a sequence. add <sequence> [...] Add a touchtone sequence to breaklist. You can add up to 8 sequences at one time. rem <sequence> [...] Remove a touchtone sequence from breaklist. You can remove up to 8 sequences at one time. You can use all to remove all sequences. vbox_put_message <message> Play a message and returns an error code depending on the reason to stop playing. Default return codes. message full name of the message file (with path). vbox_get_message <savename> <timelimit> Records a message. Default return codes. Options are: savename full name of the file for saving the message. timelimit maximum time to record the message. vbox_wait <seconds> Waits for several seconds for an input from caller. Default return codes. Options are: seconds time to wait. vbox_init_touchtones Clears vboxgetty touchtone sequence. Normal way is to append all new touchtones to the sequence, the sequence is only cleared when a "*" touchtone is received. vbox_pause <ms> waits a specific number of milliseconds. ms number of milliseconds to wait. vbox_get_nr_new_messages <messagebox> Return the number of new messages in the directory. messagebox the directory to scan vbox_get_nr_all_messages <messagebox> Return the number of messages in the directory. messagebox the directory to scan SEE ALSO
Look at the tcl documentation for any tcl specific questions. For vbox : vboxgetty(8), vboxgetty.conf(5), vbox.conf(5) AUTHOR
This manual page was written by Andreas Jellinghaus <aj@dungeon.inka.de>, for Debian GNU/Linux and isdn4linux. ISDN 4 Linux 3.1pre4 2000/09/15 vboxtcl(5)
All times are GMT -4. The time now is 08:57 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy