03-18-2005
Ya, as explained by Bhargav, it gives the return value of the Previous command.
In the above, when you run the jfdfkjd at the prompt, which is not a valid command, the system (shell) fired with command not found...and so when you immediately check $?, it give the return (exit status) of the previous command, and since the value is greater than 0, says that the previous command was an abnormal kind of operation.
Where as next time when data was executed, since its a valid command, it did work fine and hence when you immediately execute $? it return 0 saying that the previuos unix operation was a normal/smooth/perfect operation.
Even you can follow the similar decipline in your programming either C or Shell scripting (use exit 0 in shell script to indicate operationg was smooth else use exit <any greater than zero value> to indicate a failure operation.) This is a good dicipline programming approach.
Small Test, try this..at the command prompt prompt
abcd
echo $?
echo $?
ls
echo $?
echo $?
abcd
echo $?
echo $?
echo $?
-->All the best in your test.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I know in DOS, when you want to pull up your last/previous command, you hit the up/down arrows. How do you do that with UNIX? (3 Replies)
Discussion started by: Tracy Hunt
3 Replies
2. Shell Programming and Scripting
Just a super quick question:
how do you put a link in your php code.
I want to make a link to something in /tmp directory.
i.e. how do you put a href into php, I think it's done a bit differently.
thanks
john (1 Reply)
Discussion started by: jmg5
1 Replies
3. UNIX for Dummies Questions & Answers
Hello There!
I am trying to write this SIMPLE script in Bourne Shell but I keep on getting syntax errors. Can you see what I am doing wrong? I've done this before but I don't see the difference. I am simply trying to take the day of the week from our system and when the teachers sign on I want... (7 Replies)
Discussion started by: catbad
7 Replies
4. UNIX for Dummies Questions & Answers
Hi guys
sed -e "s/$<//g"
the $< can allow me to assign an input value to the variable right?
do the double quotes check the previous context? (1 Reply)
Discussion started by: hamoudzz
1 Replies
5. UNIX for Dummies Questions & Answers
Hi, I am new to UNIX, and am learning from this tutorial : http://www.ee.surrey.ac.uk/Teaching/Unix/index.html
It keeps telling me to files downloaded from the internet (like .txt files) to the directory, and I dont know how to.
How do I add .txt files to my directory? Thanks. (6 Replies)
Discussion started by: IAMTHEEVILBEAN
6 Replies
6. UNIX for Dummies Questions & Answers
Hi,
Is there a simple way, using ksh, to find the byte position in a file that a stated character appears?
Many thanks
Helen (2 Replies)
Discussion started by: Bab00shka
2 Replies
7. UNIX for Dummies Questions & Answers
from command prompt I did grep two words on a same line for eg: grep abc | grep xyz and I got tht particular line, but I want to know when I vi that file how to directly search for that particular line? I appreciate if any one can provide answer, thanks in advance (2 Replies)
Discussion started by: pkolishetty
2 Replies
8. UNIX for Dummies Questions & Answers
Hello all,
Quick question from a fairly new to Unix developer.
if
then
completedLogFile=$logfile.$(date +%Y%m%d-%H:%M:%S)
mv $logfile $completedLogFile
fi
I understand that this portion of code is simply copying a tmp logfile to a completed logfile when a condition is true. The... (2 Replies)
Discussion started by: JohnnyBoy
2 Replies
9. UNIX for Dummies Questions & Answers
I'd like to list all userid's on the system that have a .bashrc file in their home directory with a command like "cat /etc/passwd | grep -f", however I'm not quite familiar with using grep. Any suggestions? (2 Replies)
Discussion started by: raidkridley
2 Replies
10. Shell Programming and Scripting
When I have a file like this:
0084AF aj-123-a NAME Ajay NAME Kumar Engineer
015ED6 ck-345-c
020B25 ef-456-e
027458 pq-890-p NAME Peter NAME Salob Doctor
0318F0 xy-123-x NAME Xavier Arul NAME Yesu Supervisor
0344CA de-456-d
where - The first NAME is followed by... (6 Replies)
Discussion started by: ajay41aj
6 Replies
LEARN ABOUT OPENSOLARIS
escape
escape(1) Mail Avenger 0.8.3 escape(1)
NAME
escape - escape shell special characters in a string
SYNOPSIS
escape string
DESCRIPTION
escape prepends a "" character to all shell special characters in string, making it safe to compose a shell command with the result.
EXAMPLES
The following is a contrived example showing how one can unintentionally end up executing the contents of a string:
$ var='; echo gotcha!'
$ eval echo hi $var
hi
gotcha!
$
Using escape, one can avoid executing the contents of $var:
$ eval echo hi `escape "$var"`
hi ; echo gotcha!
$
A less contrived example is passing arguments to Mail Avenger bodytest commands containing possibly unsafe environment variables. For
example, you might write a hypothetical reject_bcc script to reject mail not explicitly addressed to the recipient:
#!/bin/sh
formail -x to -x cc -x resent-to -x resent-cc
| fgrep "$1" > /dev/null
&& exit 0
echo "<$1>.. address does not accept blind carbon copies"
exit 100
To invoke this script, passing it the recipient address as an argument, you would need to put the following in your Mail Avenger rcpt
script:
bodytest reject_bcc `escape "$RECIPIENT"`
SEE ALSO
avenger(1),
The Mail Avenger home page: <http://www.mailavenger.org/>.
BUGS
escape is designed for the Bourne shell, which is what Mail Avenger scripts use. escape might or might not work with other shells.
AUTHOR
David Mazieres
Mail Avenger 0.8.3 2012-04-05 escape(1)