07-07-2004
Quote:
Originally posted by dbrundrett
Can I ask you to tell me what each bit of this assignment does...
lastchr=${a#${a%?}}
What does 'a#' and 'a%?' do...
Thanks a lot
First ${a%<pattern>} strips the pattern off the end of the contents of the variable. And ? is a pattern that matches a single character. So ${a%?} is $a with the last character missing.
And ${a#<pattern>} strips the pattern off of the front of the variable.
Unlike expr, these are shell built-in's. To run expr, you must fork() and then exec(). Staying with shell built-in's delivers real performance benefits.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
While writing a shell script i happen to store some value in a string. Lets say the value is 59788.
Now in this script i want to get the value 9788 removing the first charater 5. The original string length usually remains constant.
Is there a single line command to do this or any simple way to... (4 Replies)
Discussion started by: npn
4 Replies
2. Shell Programming and Scripting
How do you test if a string is a number?
Trying to do something like this:
x="AS"
if( x is not a number ); then
x=0
fi
Because I want to do number arithmetic with x. (3 Replies)
Discussion started by: eur0dad
3 Replies
3. Programming
HI
Hi I have a character string which contains some special characters and I need it to display as a hex string.
For example, the sample i/p string: ×¥ïA Å gïÛý and
the o/p should be : D7A5EF4100C5010067EFDBFD
Any pointers or sample code pls. (5 Replies)
Discussion started by: axes
5 Replies
4. Shell Programming and Scripting
i have a file contains like this:
i want to create a script that will insert a comma "." after the 10th character so it would be look like this
thanks in advance (5 Replies)
Discussion started by: dakid
5 Replies
5. Shell Programming and Scripting
How can I extract the last character of a string (withou knowing how many characters are in that string ! ) (8 Replies)
Discussion started by: annelisa
8 Replies
6. Shell Programming and Scripting
If I have a string defined as:
MyString=abcde
echo $MyString
How can I loop through it character by character? I haven't been able to find a way to index the string so that I loop through it.
shew01 (10 Replies)
Discussion started by: shew01
10 Replies
7. Shell Programming and Scripting
hi
i try to test the last character in a variable (here $i )
assume i=kljlkjlkA it should be KO and lkjljjlT KO
if
then
echo "ending with A"
else
echo "no A at the end"
fi
whether i is ending or not with A i got "no A at the end"
i tried with simple [ double this is the... (3 Replies)
Discussion started by: Nicol
3 Replies
8. UNIX for Dummies Questions & Answers
Hello, can someone please explain to me why this happens:
myserver#echo "$nothing"
myserver#if ; then echo "nothing is a zero length string"; fi
nothing is a zero length string
myserver#if ; then echo "nothing is also a non-zero length string, apparently"; fi
nothing is also a non-zero... (5 Replies)
Discussion started by: longjon
5 Replies
9. Shell Programming and Scripting
Hello, Unix-Forums!
Is there a command that can check how long a user-entered string is?
Please don't give me a code, just the name of the command (playing around yourself is much more fun than just pasting code)
edit: I'm sorry, first hit of the forum search gave me the answer. (1 Reply)
Discussion started by: intelinside
1 Replies
10. Shell Programming and Scripting
Hi,
Anyone can help using SED searches a character string for a specified delimiter character, and returns a leading or trailing space/blank.
Text file :
"1"|"ExternalClassDEA519CF5"|"Art1"
"2"|"ExternalClass563EA516C"|"Art3"
"3"|"ExternalClass305ED16B8"|"Art9"
...
...
... (2 Replies)
Discussion started by: fspalero
2 Replies
exit(1) User Commands exit(1)
NAME
exit, return, goto - shell built-in functions to enable the execution of the shell to advance beyond its sequence of steps
SYNOPSIS
sh
exit [n]
return [n]
csh
exit [ ( expr )]
goto label
ksh
*exit [n]
*return [n]
DESCRIPTION
sh
exit will cause the calling shell or shell script to exit with the exit status specified by n. If n is omitted the exit status is that of
the last command executed (an EOF will also cause the shell to exit.)
return causes a function to exit with the return value specified by n. If n is omitted, the return status is that of the last command exe-
cuted.
csh
exit will cause the calling shell or shell script to exit, either with the value of the status variable or with the value specified by the
expression expr.
The goto built-in uses a specified label as a search string amongst commands. The shell rewinds its input as much as possible and searches
for a line of the form label: possibly preceded by space or tab characters. Execution continues after the indicated line. It is an error to
jump to a label that occurs between a while or for built-in command and its corresponding end.
ksh
exit will cause the calling shell or shell script to exit with the exit status specified by n. The value will be the least significant 8
bits of the specified status. If n is omitted then the exit status is that of the last command executed. When exit occurs when executing
a trap, the last command refers to the command that executed before the trap was invoked. An end-of-file will also cause the shell to exit
except for a shell which has the ignoreeof option (See set below) turned on.
return causes a shell function or '.' script to return to the invoking script with the return status specified by n. The value will be the
least significant 8 bits of the specified status. If n is omitted then the return status is that of the last command executed. If return
is invoked while not in a function or a '.' script, then it is the same as an exit.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
break(1), csh(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 15 Apr 1994 exit(1)