09-12-2008
Just as Annihilannic said.
Best use double brackets (most modern shells should support them), which uses the shell instead of invoking "test", whereas it is faster. Round brackets for arithmetic values and square chars/strings etc.
There are the options -n for "not empty" and -z for "zero" for testing which make it more safe to not get the problem you had.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Gentlemen,
OK, I have an odd issue here perhaps someone can shed some light for me. When running a script as its user/owner the below pause/wait works just fine. When a developer has used su - to assume the username the pause does not happen... This is a HPUX11.00 machine, I have copied the blurb... (1 Reply)
Discussion started by: Eronysis
1 Replies
2. Programming
Hi,
I have one doubt, in the below program, if I declare char *b inside the main(), the function compiles & runs properly. But at the same time, if I declare it globally it compiles but when we run it, it creates core dump (segmentation fault) both in C & C++. It is not being trapped by catch... (7 Replies)
Discussion started by: royalibrahim
7 Replies
3. Shell Programming and Scripting
i 've noticed the following difference between freebsd cp and gnu cp
from the freebsd cp man page:
-R ... If the source_file ends in a /, the contents of the directory are copied rather than
the directory itself. ...
on gnu cp from the man pagewhile on gnu cp manpage:
‘-r'... (2 Replies)
Discussion started by: aegis
2 Replies
4. HP-UX
Executed the following if conditions .. and got different results .
only (( )) gave correct o/p with all scenarios .
Can anybody please let me know what is the difference between and ] and ((condition)) when used with if condition.
And why each condition gave different result.
1.... (2 Replies)
Discussion started by: soumyabubun
2 Replies
5. Shell Programming and Scripting
hi,
I have some problems in my simple script about the redirect echo stdout command inside a condition. Why is the echo command inside the elif still execute in the else command
Here are my simple script
After check on the two diff output the echo stdout redirect is present in two diff... (3 Replies)
Discussion started by: jao_madn
3 Replies
6. Ubuntu
I am little bit confused by the behaviour of rm in Ubuntu.
It seems that as a regular user I can delete files owned by another user even when the permissions are set to 644.
Here is an example:
cjohnson@carbon:~/test$ sudo touch testfile
cjohnson@carbon:~/test$ ls -al
total 8
drwxr-xr-x... (2 Replies)
Discussion started by: ccj4467
2 Replies
7. Programming
fg = foreground bg = background
I have a cobol program that I start with a very simple script.
The script is not at fault as it has not changed and the program worked in fg and bg before.
I have altered the logging in the program and moved my cursor declare to working storage.
The program runs... (6 Replies)
Discussion started by: Bruble
6 Replies
8. UNIX for Dummies Questions & Answers
Can someone explain how the below awk simulates cat?
pandeeswaran@ubuntu:~$ awk '1' file
PSAPSR3 3722000 91989.25 2 98
PSAPSR7 1562000 77000.1875 5 95
PSAPUNDO 92000 4087.5625 4 96
pandeeswaran@ubuntu:~$ awk '2' file
PSAPSR3 3722000 91989.25 2 98
PSAPSR7 1562000 77000.1875 5 95
PSAPUNDO... (3 Replies)
Discussion started by: pandeesh
3 Replies
9. Shell Programming and Scripting
HI
My doubt may be basic one but I need to get it clarified..
When i use "if" condition that checks for many AND, OR logical conditions
like
if ]; then
return 0
fi
Even the if condition fails it returns as zero.. Any clue..
But if i add else condition like
if ]; ... (2 Replies)
Discussion started by: Priya Amaresh
2 Replies
10. Red Hat
Hi Experts,
ps command behavior in Redhat is such that it outputs all the output(of long lengths). In Unix the ps command output was limited to only 80 chars. In that if you pipe its output to another command hen the 80 chars restriction wouldn't be there. This 80 char limitation will only be... (14 Replies)
Discussion started by: Albert_Pinto7
14 Replies
LEARN ABOUT HPUX
pthread_cond_destroy
pthread_cond_init(3T) pthread_cond_init(3T)
NAME
pthread_cond_init(), pthread_cond_destroy() - initialize or destroy a condition variable
SYNOPSIS
PARAMETERS
cond Pointer to the condition variable to be initialized or destroyed.
attr Pointer to the attributes object that defines the characteristics of the condition variable to be initialized. If the
pointer is NULL, default attributes are used.
DESCRIPTION
The function initializes the condition variable cond with the attributes attr. If attr is NULL, the default condition variable attributes
are used to initialize the attributes object. See pthread_condattr_init(3T) for a list of the default condition variable attributes.
After successful initialization, the condition variable may be used in condition variable operations. A condition variable should be ini-
tialized only once or the resulting behavior is undefined. The function provides a way to ensure that a condition variable is only ini-
tialized once.
The macro can be used to initialize condition variables that are statically allocated. These condition variables will be initialized with
default attributes. The function does not need to be called for statically initialized condition variables.
If the process-shared attribute in the condition variable attributes object referenced by attr is defined as the condition variable must be
allocated such that the processes sharing the condition variable have access to it. This may be done through the memory-mapping functions
(see mmap(2)) or the shared memory functions (see shmget(2)).
destroys the condition variable cond. This function may set cond to an invalid value. The destroyed condition variable can be reinitial-
ized using the function If the condition variable is used after destruction in any condition variable call, the resulting behavior is unde-
fined.
A condition variable should be destroyed only when there are no threads currently blocked on it. Destroying a condition variable that is
currently in use results in undefined behavior.
RETURN VALUE
Upon successful completion, and return zero. Otherwise, an error number is returned to indicate the error (the variable is not set).
ERRORS
If any of the following occur, the function returns the corresponding error number:
The system does not have the available resources (other than memory)
to initialize the condition variable.
The specified condition variable is an already initialized condition
variable. However, getting for reinitializing the condition variable cannot be expected all the time since the
behavior of reinitializing the condition variable is undefined.
The cond parameter points to an illegal address.
The value specified by
cond or attr is invalid.
There is insufficient memory available in which to initialize
the condition variable.
If any of the following occur, the function returns the corresponding error number:
An attempt to destroy
cond while it is in use by another thread.
cond is not a valid condition variable.
WARNINGS
The space for condition variable must be allocated before calling Undefined behavior will result if the process-shared attribute of attr is
and the space allocated for the condition variable is not accessible to cooperating threads.
AUTHOR
and were derived from the IEEE POSIX P1003.1c standard.
SEE ALSO
pthread_cond_signal(3T), pthread_cond_wait(3T).
STANDARDS CONFORMANCE
Pthread Library pthread_cond_init(3T)