05-07-2001
Hi folks.
I'm just starting to teach myself shell scripting and am having some trouble with an if statement. I am working with a directory where only one file will reside at a time and need to evaluate if this file is compressed to determine subsequent steps. I'm using echo for testing purposes. The syntax is:
if [ * -f != "*.Z"]
then
echo "not zipped"
else
echo "zipped"
fi
my problem is with the -f flag. I do not want the script to use . or .. , only an ordinary file. When I use -f, I get the correct echo for the .Z file currently in this directory, but I get the error "-f: unknown test operator". If I remove the -f, the echo is incorrect. Whatever can I do?
Thanks,
kristy
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
hello everybody and a happy new year!
i am trying the client-server model...i have no problem with sockets etc...
especially for server:there is a father who is listening for TCP connections from clients,the later send commands which parent shares to his children.
then children execute... (1 Reply)
Discussion started by: vaggelakis
1 Replies
2. UNIX for Dummies Questions & Answers
I have a script which will look for a test folder under the parent directory. If the folder contains test folder then create the same directory structure in other remote machine.
Once the directories are created then transfer all the contents of that test folder.
this is what i am doing :-
... (2 Replies)
Discussion started by: chris1234
2 Replies
3. UNIX for Dummies Questions & Answers
Hi,
I use a specific utility in my .cshrc for setting up the right fonts and I believe it's sufficient to run it once for a whole session.
Since I have sourced it in my .cshrc, it runs every time I do a source of .cshrc or invoke every new terminal.
To resolve this issue, I thought of... (1 Reply)
Discussion started by: oldtrash
1 Replies
4. IP Networking
I'm running an arp -an on a Solaris 10 box. We're using IPMP. One of the systems is not able to see a host on the same network. The only difference between the two systems (one is having a problem, the other isn't) at least so far is the output of arp:
# arp -an | grep 224.55
e1000g5... (1 Reply)
Discussion started by: BOFH
1 Replies
5. Shell Programming and Scripting
Hi,
I have two different scripts sap_ftp.sh and sap_ftp_dd.sh which are running continously in background. I am using another script called start.sh to launch these two scripts.
Either one script will process files at a time . During that time other script will sleep.. Each script will... (1 Reply)
Discussion started by: bhargav20
1 Replies
6. UNIX for Dummies Questions & Answers
Hello,
I am running into a bit of an issue running a Makefile. The problem is it was written for a xlf90 compiler when I have a pgf90 on the machine. Therefore, I keep getting errors regarding the xlf90 flags because they don't correspond with the pgf90. Here is the code:
... (0 Replies)
Discussion started by: lepagano
0 Replies
7. UNIX for Dummies Questions & Answers
Can anybody actually tell, what is flag? I know they are termed as permission flags and various others.
Please explain (3 Replies)
Discussion started by: nixhead
3 Replies
8. UNIX for Dummies Questions & Answers
Hi there,
I need your help in understanding the below Solaris 10 ifconfig output;
athnetspns02>ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0:... (2 Replies)
Discussion started by: wthomas
2 Replies
9. Shell Programming and Scripting
hello all,
i have the below script that we used to backup our DB using oracle's utility called RMAN. This has been working fine, but the issue is when the backup fails and we re-start it, it backups the whole thing again. Example.
lets say i have 5 database on my system(db1,db2,db3,db4,db5)... (11 Replies)
Discussion started by: crazy_max
11 Replies
10. UNIX for Beginners Questions & Answers
hello:
how could i view the file's flags? "ls -loa" doesn't seem to do the trick:
root@giraffe:/etc # ls -alo
total 820
drwxr-xr-x 23 root wheel - 2048 Oct 23 19:48 .
drwxr-xr-x 19 root wheel - 1024 Nov 16 15:01 ..
drwxr-xr-x 2 root wheel - 512 Nov 11 2014 X11... (6 Replies)
Discussion started by: ipfreak
6 Replies
READDIR(3) 1 READDIR(3)
readdir - Read entry from directory handle
SYNOPSIS
string readdir ([resource $dir_handle])
DESCRIPTION
Returns the name of the next entry in the directory. The entries are returned in the order in which they are stored by the filesystem.
PARAMETERS
o $dir_handle
- The directory handle resource previously opened with opendir(3). If the directory handle is not specified, the last link opened
by opendir(3) is assumed.
RETURN VALUES
Returns the entry name on success or FALSE on failure.
Warning
This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on
Booleans for more information. Use the === operator for testing the return value of this function.
EXAMPLES
Example #1
List all entries in a directory
Please note the fashion in which readdir(3)'s return value is checked in the examples below. We are explicitly testing whether the
return value is identical to (equal to and of the same type as--see Comparison Operators for more information) FALSE since other-
wise, any directory entry whose name evaluates to FALSE will stop the loop (e.g. a directory named "0").
<?php
if ($handle = opendir('/path/to/files')) {
echo "Directory handle: $handle
";
echo "Entries:
";
/* This is the correct way to loop over the directory. */
while (false !== ($entry = readdir($handle))) {
echo "$entry
";
}
/* This is the WRONG way to loop over the directory. */
while ($entry = readdir($handle)) {
echo "$entry
";
}
closedir($handle);
}
?>
Example #2
List all entries in the current directory and strip out . and ..
<?php
if ($handle = opendir('.')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
echo "$entry
";
}
}
closedir($handle);
}
?>
SEE ALSO
is_dir(3), glob(3), opendir(3), scandir(3).
PHP Documentation Group READDIR(3)