02-21-2008
Why does my script not work? (Noob Alert)
I am a scripting noob and I have tried to search on google, but cannot find the answer as to why this script doesn't work properly.
The idea of this script is that it will list all files starting with f in a certain folder, and delete all but the three newest one. I am trying to achieve this by doing command "ls -t" so the newest come out on top. Then I simply skip the first 3 and start deleting what comes after (in the supplied script I am just renaming the files). For some reason when the counter hits 10, it seems to think that it a smaller value than 3. I think it only sees the 1st character of 10, leading it to think its value is 1? Yet when I echo $counter, it says 10?
I am sure you are going to slap me around the ears with one-line scripts that do the job, but as I am trying to learn I would really like to see why mine does not work as well. I really do apreciate any kind of input. Thanks in advance.
My script:
#!/bin/bash
declare -i counter=1
for file in $(ls -t f*); do
if [[ $counter > 3 ]]; then
mv $file $file.del
fi
let counter=$counter+1
done
exit 0
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi, I am trying to use a PHP script as a test for a cron job.
My crontab is 1 line:
30 * * * * /home/www/inc/crontab.php
if I test the file through the browser (ie. http://www.domain.com/inc/crontab.php), the PHP script works -- so there is nothing wrong with the PHP script itself or the... (5 Replies)
Discussion started by: Bobafart
5 Replies
2. Shell Programming and Scripting
Hi All.
im a noob to scripting. could somone help me with a script please.
what i want to do is.
1. run a cmd in the script - qmqtool -s
this will give me an output similar to this.
Messages in local queue: 790
Messages in remote queue: 306
Messages in todo queue: 23
i then want... (1 Reply)
Discussion started by: aron
1 Replies
3. Shell Programming and Scripting
while read s1 s2; do
grep -i -w $s1 6-29data | tr "" "" | sed 's/^*,//' | sed 's/200906/2009-06-/g' >> $s1.txt ;
cat header > here ;
cat $s1.txt | sort | uniq | tac >> here ;
cat here | uniq > $s1.txt ;
done < list
Wow this almost worked file list has 8000 stock symbols which are... (4 Replies)
Discussion started by: harte
4 Replies
4. UNIX for Dummies Questions & Answers
Hi, Very new to linux but I've just recently setup an ubuntu server.
I have 2 broadband connections and would like to have fallback on the server should one of the lines fail.
I know what I want it to do, but dont know how to script it.
heres the senario;
ubuntu server with 2 ethernet... (0 Replies)
Discussion started by: ziggycat
0 Replies
5. UNIX for Dummies Questions & Answers
Hello everyone.
i work in a school and i ran into an application today that is a real pickle. i know how to make it work, but i would need to script it. The way to make it work would be to have a script check each local user profile on login, see if the directory already exists, do nothing... (27 Replies)
Discussion started by: jscan
27 Replies
6. Shell Programming and Scripting
Hi i am a total noob at shell scripting. i was wondering if somebody could help me with my script.
i want the script to search the dev folder for the burner file
because they are different between distrubutions? as i under stand it.
this i the script.
#!/bin/bash
echo "Script för att bränna 360... (4 Replies)
Discussion started by: MatsO
4 Replies
7. UNIX for Dummies Questions & Answers
I m writing a script to check Server Hardening.
The problem is whenever i add new point it grows and it become very tedious to edit the script file.
Is there any way of making them separate and call them from one base script?
Is it possible to define global variable that can be accessed via... (5 Replies)
Discussion started by: pinga123
5 Replies
8. UNIX for Dummies Questions & Answers
Hello,
I've been given the task of checking the date of expiration dates and notify when the date is 30 days away from expiration.
As stated in the Title, I'm very new to this, I did a good bit of work over the last two days to only find out I was going down the wrong path.
I'm not... (3 Replies)
Discussion started by: drey4184
3 Replies
9. Shell Programming and Scripting
Hi
This is my first time attempting a bash script, or any kind of programming.
I'm trying to get a clear picture but it helps to work backwards.
It would be greatly appreciated if someone could show me what this script would look like...
Write a script that displays todays date in... (1 Reply)
Discussion started by: earthicle
1 Replies
10. UNIX for Beginners Questions & Answers
Hey Guys and Gals, Im a complete Noob to Unix. But recently have started working on a unix system for my PET/CT scanner. My scanner comes with a MOD drive for backup. I would like to back up to USB (its alot cheaper). But the only way to do so is by manually enterin the unix commands. Id like to... (13 Replies)
Discussion started by: TorresGXL
13 Replies
DDB(8) BSD System Manager's Manual DDB(8)
NAME
ddb -- configure DDB kernel debugger properties
SYNOPSIS
ddb capture [-M -core] [-N -system] print
ddb capture [-M -core] [-N -system] status
ddb script scriptname
ddb script scriptname=script
ddb scripts
ddb unscript scriptname
ddb pathname
DESCRIPTION
The ddb utility configures certain aspects of the ddb(4) kernel debugger from user space that are not configured at compile-time or easily
via sysctl(8) MIB entries.
To ease configuration, commands can be put in a file which is processed using ddb as shown in the last synopsis line. An absolute pathname
must be used. The file will be read line by line and applied as arguments to the ddb utility. Whitespace at the beginning of lines will be
ignored as will lines where the first non-whitespace character is '#'.
OUTPUT CAPTURE
The ddb utility can be used to extract the contents of the ddb(4) output capture buffer of the current live kernel, or from the crash dump of
a kernel on disk. The following debugger commands are available from the command line:
capture [-M core] [-N system] print
Print the current contents of the ddb(4) output capture buffer.
capture [-M core] [-N system] status
Print the current status of the ddb(4) output capture buffer.
SCRIPTING
The ddb utility can be used to configure aspects of ddb(4) scripting from user space; scripting support is described in more detail in
ddb(4). Each of the debugger commands is available from the command line:
script scriptname
Print the script named scriptname.
script scriptname=script
Define a script named scriptname. As many scripts contain characters interpreted in special ways by the shell, it is advisable to
enclose script in quotes.
scripts
List currently defined scripts.
unscript scriptname
Delete the script named scriptname.
EXIT STATUS
The ddb utility exits 0 on success, and >0 if an error occurs.
EXAMPLES
The following example defines a script that will execute when the kernel debugger is entered as a result of a break signal:
ddb script kdb.enter.break="show pcpu; bt"
The following example will delete the script:
ddb unscript kdb.enter.break
For further examples, see the ddb(4) and textdump(4) manual pages.
SEE ALSO
ddb(4), textdump(4), sysctl(8)
HISTORY
The ddb utility first appeared in FreeBSD 7.1.
AUTHORS
Robert N M Watson
BUGS
Ideally, ddb would not exist, as all pertinent aspects of ddb(4) could be configured directly via sysctl(8).
BSD
December 24, 2008 BSD