11-03-2008
$? means that the return code of the previous command. When you write a script, we need to ensure that the command has successful or not. This will be done by checking the return code of the previous command. i.e $?
Upon successful execution of command, it will return the code 0 else non-negative no.
For ex:
$ rm tmp
$ echo $?
0
$ ls tmp
ls: tmp: No such file or directory
$ rm tmp
rm: cannot remove `tmp': No such file or directory
$ echo $?
1
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I have a command called
cd $HDRROOT/release/tools/cfg
My query is what it means?
tHat is.... $HDRROOT part is not clear.
If I put this command it says path not found....
I doubt that $HDRROOT is trying to mean smething I am not clear of.
PL help......... (4 Replies)
Discussion started by: rraajjiibb
4 Replies
2. UNIX for Dummies Questions & Answers
I found a file in my base folder width the name replace.sh and width the text string.
sed -i "s/$1/$2/g" `grep -ir $1 ./*|grep -v '.svn'|cut -d: -f1`
Wat does it mean and what does it do? (1 Reply)
Discussion started by: samarn
1 Replies
3. Shell Programming and Scripting
hey, what's $$varname in a script? I used to see $varname only. search on google didn't help. thanks. (4 Replies)
Discussion started by: patiobarbecue
4 Replies
4. UNIX for Dummies Questions & Answers
Can you please tell me what this means?
use grep to find from the file myfile.txt all lines containing the sequence tt but not more 2 ts?
I have no idea. (2 Replies)
Discussion started by: rushhour
2 Replies
5. UNIX for Dummies Questions & Answers
I can not find out what the %U means in the following command:
ooffice -calc %U (2 Replies)
Discussion started by: borobudur
2 Replies
6. Shell Programming and Scripting
I have a script like
select * from table
!!
what those exclamation marks mean (4 Replies)
Discussion started by: vasuarjula
4 Replies
7. Shell Programming and Scripting
Hi,
I have seen in some ksh script, that we are executing shell scripts inside other shell script as
. variable.sh
What is . here? Their is space between . and variabloe. And why we are not executing it like ./variable.sh? I know that . signifies current directory , but what its... (2 Replies)
Discussion started by: jatanig
2 Replies
8. Programming
#define abc '\xE8' (7 Replies)
Discussion started by: kamlesh33
7 Replies
9. UNIX for Beginners Questions & Answers
HI
what does the $(NF) means.
here i want to understand the working.
what i know is that in awk NF argument will tell number of column in a file
i have below file
alpha
a
beta
b
if i use command cat kv | paste - - | awk '{print $1," "$2 "------>"$(NF)}'
i get the o/p as
alpha ... (3 Replies)
Discussion started by: scriptor
3 Replies
rmvb(9F) Kernel Functions for Drivers rmvb(9F)
NAME
rmvb - remove a message block from a message
SYNOPSIS
#include <sys/stream.h>
mblk_t *rmvb(mblk_t *mp, mblk_t *bp);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
mp Message from which a block is to be removed. mblk_t is an instance of the
msgb(9S) structure.
bp Message block to be removed.
DESCRIPTION
rmvb() removes a message block (bp) from a message (mp), and returns a pointer to the altered message. The message block is not freed,
merely removed from the message. It is the module or driver's responsibility to free the message block.
RETURN VALUES
If successful, a pointer to the message (minus the removed block) is returned. The pointer is NULL if bp was the only block of the message
before
rmvb() was called. If the designated message block (bp) does not exist, -1 is returned.
CONTEXT
rmvb() can be called from user or interrupt context.
EXAMPLES
This routine removes all zero-length M_DATA message blocks from the given message. For each message block in the message, save the next
message block (line 10). If the current message block is of type M_DATA and has no data in its buffer (line 11), then remove it from the
message (line 12) and free it (line 13). In either case, continue with the next message block in the message (line 16).
1 void
2 xxclean(mp)
3 mblk_t *mp;
4 {
5 mblk_t *tmp;
6 mblk_t *nmp;
7
8 tmp = mp;
9 while (tmp) {
10 nmp = tmp->b_cont;
11 if ((tmp->b_datap->db_type == M_DATA) &&
(tmp->b_rptr == tmp->b_wptr)) {
12 (void) rmvb(mp, tmp);
13 freeb(tmp);
14 }
15 tmp = nmp;
16 }
17 }
SEE ALSO
freeb(9F), msgb(9S)
Writing Device Drivers
STREAMS Programming Guide
SunOS 5.10 11 Apr 1991 rmvb(9F)