08-25-2002
recursion
I'm using the UNIX csh and i wish to use recursion to nav my way up (or down as it is) a given folder.
My little test script is called "r" and takes a folder as argv[1] (or $1)
#!/bin/tcsh -f
set allFiles = `ls -A $argv[1]`
cd $argv[1]
while ($#allFiles)
if (-d $allFiles[1]) then
echo $allFiles[1]
# do whatever...
r $allFiles[1]
endif
shift allFiles
end
echo done.
however once it chages into a given dir the script "r" is no longer in the new dir and thus the process fails. I'm not the super user so I can not dump the script "r" in "bin". Can anyone help me do something similair?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am running a korn shell script which has a recursive function.
The script ran for 117 iterations and ended up with the following error
"recursion too deep".
what should be done to avert this?
Thanks in advance
Swamy
p.s. I am on UNIX MPRAS V4 (3 Replies)
Discussion started by: swamy455
3 Replies
2. Shell Programming and Scripting
Hello every body. I am trying to find the factorial using the following code. But it is giving the syntax error. I tried very much but in vain. Thanks in advance for helping me
factorial()
{
if
then
y=`expr $1 - 1`
x=$(( $1 \* factorial $y ))... (6 Replies)
Discussion started by: murtaza
6 Replies
3. Programming
I want to halt a tail recursive function after certain validation. I want to come out of entire recursion without unwinding phase. How can i achieve that . The coding is done in C language. (5 Replies)
Discussion started by: joshighanshyam
5 Replies
4. Shell Programming and Scripting
Hi Guys,,
I tried to create a recursive function in unix.
The following is the code.
#/bin/sh
function(){
n=$1;
if ; then
out=1;
echo "inside if for 0";
else
out = `$n * function "$n-1"`;
echo "inside if for $n-1;
fi (3 Replies)
Discussion started by: mac4rfree
3 Replies
5. Programming
Hi,
Question: how come the output is like that? Can explain to me abit. I am learning C.
Thanks!
#include <stdio.h>
#include <string.h>
void printit(char line_of_char, int index);
int main()
{
char line_of_char;
int index = -1;
strcpy(line_of_char, "This is a string.");
... (5 Replies)
Discussion started by: seede
5 Replies
6. Shell Programming and Scripting
Can someone please explain me why the following script calls it self recursively:
#!/bin/bash
echo Called
$0
while this not:
#!/bin/bash
echo Called
$($0)
Thanks (6 Replies)
Discussion started by: superpointer
6 Replies
7. UNIX for Advanced & Expert Users
In the following command:
find / -ctime +3 -exec rm -R {}\;
how is the recursion list built for the actual rm ?
F'rinstance; I had a case where a user typed this as root using '/' instead of '.' so everything in the root level was going to be traversed. They hit <ctrl>C before too much was... (5 Replies)
Discussion started by: port43
5 Replies
8. Shell Programming and Scripting
Not sure how to ask this question. I want concatenate strings and variable recursively into new variable. For example:
infile01=/dir/subfolder/file01.txt
infile02=/dir/subfolder/file02.txt
infile03=/dir/subfolder/file03.txt
for i in {01..03}
do
u=${"infile"$i}
echo $u
doneI got error... (7 Replies)
Discussion started by: yifangt
7 Replies
9. Solaris
Hi,
I am trying to disable the recursion on DNS server (Solaris 10). I have added the lines in the named.conf as below:
allow-query-cache { none; };
recursion no;
Then restarted the solaris DNS services
svcadm refresh svc:/network/dns/server:default
Still I am able to... (0 Replies)
Discussion started by: snchaudhari2
0 Replies
10. UNIX for Beginners Questions & Answers
Hi,
I cannot find a way to copy a directory to another location with all attributes (mode, ownership, timestamps) but withOUT recursion (after so many years of working with Linux).
Say I want to create /home/jail/tmp exactly like /tmp but with nothing in it. Here is what I tried:
... (7 Replies)
Discussion started by: chebarbudo
7 Replies
RMM(1) [nmh-1.5] RMM(1)
NAME
rmm - remove messages
SYNOPSIS
rmm [+folder] [msgs] [-unlink | -nounlink] [-version] [-help]
DESCRIPTION
By default, rmm will remove the specified messages by renaming each of the message files with a site-dependent prefix (usually a comma).
Such files will then need to be removed in some manner after a certain amount of time. Many sites arrange for cron to remove these files
once a day, so check with your system administrator.
Alternately, if you wish for rmm to really remove the files representing these messages, you can use the -unlink switch. But messages
removed by this method cannot be later recovered.
If you prefer a more sophisticated method of `removing' messages, you can define the rmmproc profile component. For example, you can add a
profile component such as
rmmproc: /home/foouser/bin/rmm_msgs
then instead of simply renaming the message file, rmm will call the named program or script to handle the files that represent the messages
to be deleted.
Some users of csh prefer the following:
alias rmm 'refile +d'
where folder `+d' is a folder for deleted messages, and
alias mexp 'rm `mhpath +d all`'
is used to "expunge" deleted messages.
The current message is not changed by rmm, so a next
will advance to the next message in the folder as expected.
FILES
$HOME/.mh_profile The user profile
PROFILE COMPONENTS
Path: To determine the user's nmh directory
Current-Folder: To find the default current folder
rmmproc: Program to delete the message
SEE ALSO
refile(1), rmf(1)
DEFAULTS
`+folder' defaults to the current folder
`msgs' defaults to cur
`-nounlink'
CONTEXT
If a folder is given, it will become the current folder.
BUGS
Since refile uses your rmmproc to delete the message, the rmmproc must NOT call refile without specifying -normmproc, or you will create an
infinte loop.
MH.6.8 11 June 2012 RMM(1)