Sponsored Content
Top Forums Shell Programming and Scripting Testing the last character in a string Post 53180 by Perderabo on Wednesday 7th of July 2004 11:46:11 AM
Old 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

Removing first character in a string

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

bash: testing if string is a number

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

converting character string to hex string

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

inserting a character between string

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

Extract the last character of a string

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

Korn: How to loop through a string character by character

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

testing the last character

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

Testing for non-zero length string

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

Testing the length of a string

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

sed searches a character string for a specified delimiter character, and returns a leading or traili

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
cd(1)							      General Commands Manual							     cd(1)

NAME
cd - change working directory SYNOPSIS
[directory] DESCRIPTION
If directory is not specified, the value of shell parameter is used as the new working directory. If directory specifies a complete path starting with or directory becomes the new working directory. If neither case applies, tries to find the designated directory relative to one of the paths specified by the shell variable. has the same syntax as, and similar semantics to, the shell variable. must have execute (search) permission in directory. exists only as a shell built-in command because a new process is created whenever a command is executed, making useless if written and pro- cessed as a normal system command. Moreover, different shells provide different implementations of as a built-in utility. Features of as described here may not be supported by all the shells. Refer to individual shell manual entries for differences. If is called in a subshell or a separate utility execution environment such as: (which invokes on accessible directories) does not affect the current directory of the caller's environment. Another usage of as a stand- alone command is to obtain the exit status of the command. EXTERNAL INFLUENCES
International Code Set Support Single- and multi-byte character code sets are supported. Environment Variables The following environment variables affect the execution of The name of the home directory, used when no directory operand is specified. A colon-separated list of pathnames that refer to directories. If the directory operand does not begin with a slash character, and the first component is not dot or dot-dot, searches for directory relative to each directory named in the variable, in the order listed. The new working directory is set to the first matching directory found. An empty string in place of a directory pathname represents the current direc- tory. If is not set, it is treated as if it was an empty string. EXAMPLES
Change the current working directory to the directory from any location in the file system: Change to new current working directory residing in the current directory: or Change to directory residing in the current directory's parent directory: Change to the directory whose absolute pathname is Change to the directory relative to home directory: RETURN VALUE
Upon completion, exits with one of the following values: The directory was successfully changed. An error occurred. The working directory remains unchanged. SEE ALSO
csh(1), pwd(1), ksh(1), sh-posix(1), sh(1), chdir(2). STANDARDS CONFORMANCE
cd(1)
All times are GMT -4. The time now is 06:59 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy