08-01-2006
I faced the same issue yesterday. Perderabo pointed me to thread
http://unix.com/showthread.php?t=25095
This issue is caused by numbers starting with 0 being treated as octal numbers. 08 and 09 are invalid octal numbers, thus the message comes up. You can change the base to 10 by using 10# in front of the number.
Here's an example
let "num=10#08"
echo $num
8
Last edited by vish_indian; 08-01-2006 at 08:08 AM..
Reason: Add an example
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi all,
I have upgraded my old RedHat 6.2 box to RedHat 7.3. I had couple hundreds of users on that box so i just migrated all the user account to a new box by transfering home directories, and appending to /etc/passwd /etc/shadow /etc/group. I have preserved all permittions. Everything works... (8 Replies)
Discussion started by: solvman
8 Replies
2. Programming
Hello, the following is generating a error at the line "tmprintf(&tmBundle, _TMC("{0}"),Prompt);"... a bit lost as I am diving into this debug...
Thank you in advance...
int H_YesNo(TMCHAR *Prompt, int DefVal)
{
TMCHAR YesNo = '\0';
tmprintf(&tmBundle, _TMC("{0}"),Prompt);
while... (3 Replies)
Discussion started by: reelflytime
3 Replies
3. Shell Programming and Scripting
Hello. Please help with this code. Returns an error message "syntax error near unexpected token =~. Conditional binary operator expected.
if " ]] || " ]]
then
echo "Enter only valid numbers"
fi (2 Replies)
Discussion started by: Pauline mugisha
2 Replies
4. Shell Programming and Scripting
Hi,
I am compete linux noob, but have managed to setup my Thecus N5500 to rsync to my N5200Pro to do automatic backups each night.
The rsync script also moves any files deleted from the N5500 (and previously backed up to the N5200) to a _deleted folder on the N5200 so I can keep them for 30... (10 Replies)
Discussion started by: rpalmer68
10 Replies
5. Shell Programming and Scripting
Hello all,
Im having an Issue with my script for switch statement , can someone let me know where do i need to correct it.
7 ##*******************************************************************************************************
8 ## ********** FUNCTION USAGE ***********
... (13 Replies)
Discussion started by: raghunsi
13 Replies
6. Shell Programming and Scripting
first of all I thought the argument DONE is necessary for all scripts that have or begin with do statements which I have on my script, However, I still don't completely understand why I am receiving an error I tried adding another done argument statement but didn't do any good.
I appreciate... (3 Replies)
Discussion started by: wolf@=NK
3 Replies
7. Shell Programming and Scripting
I tried to execute the code but I got this error
./Array.c: line 9: syntax error near unexpected token '('
./Array.c: line 9: ' nvals = get_data(a,MAXARRAY);'
and
#include<stdio.h>
#define MAXARRAY 1000
main()
{
int a,
nvals;
nvals =... (7 Replies)
Discussion started by: sgradywhite
7 Replies
8. Shell Programming and Scripting
Hi all,
I have a simple script that doesn't work somehow. I can't seem to be spotting the cause of the malfunction.
count=$((1))
for item in `cat test1.txt`
printf %s `sed -n $((count))p test2.txt` > test3.txt
count=$((count+1))
do
something
done
I get ;
./why.sh: line 3:... (14 Replies)
Discussion started by: y33t
14 Replies
9. UNIX for Beginners Questions & Answers
Hello all,
Please i have this command i used to zip different files in differents directory, but i have an error. Note that when i run the command in one directory it works fine.
/X5/WORK/BGH/INV/REG/pdf/SEND/BGH12523/1/*.fo
/X5/WORK/BGH/INV/REG/pdf/SEND/BGH24523/1/*.fo... (3 Replies)
Discussion started by: gillesi
3 Replies
10. UNIX for Beginners Questions & Answers
Hi Everyone,
my script was running Ok, but suddenly it started giving this error.
./update_env_bi.sh: line 54: syntax error near unexpected token `)'
./update_env_bi.sh: line 54: `sed -i "s/PORT=*1/PORT=$2/" repository.xml'
The line 54 has this code.
sed -i "s/PORT=*1/PORT=$2/"... (2 Replies)
Discussion started by: shajay12
2 Replies
SUBSTR(3) 1 SUBSTR(3)
substr - Return part of a string
SYNOPSIS
string substr (string $string, int $start, [int $length])
DESCRIPTION
Returns the portion of $string specified by the $start and $length parameters.
PARAMETERS
o $string
- The input string. Must be one character or longer.
o $start
- If $start is non-negative, the returned string will start at the $start'th position in $string, counting from zero. For
instance, in the string ' abcdef', the character at position 0 is ' a', the character at position 2 is ' c', and so forth. If
$start is negative, the returned string will start at the $start'th character from the end of $string. If $string is less than or
equal to $start characters long, FALSE will be returned.
Example #1
Using a negative $start
<?php
$rest = substr("abcdef", -1); // returns "f"
$rest = substr("abcdef", -2); // returns "ef"
$rest = substr("abcdef", -3, 1); // returns "d"
?>
o $length
- If $length is given and is positive, the string returned will contain at most $length characters beginning from $start (depend-
ing on the length of $string). If $length is given and is negative, then that many characters will be omitted from the end of
$string (after the start position has been calculated when a $start is negative). If $start denotes the position of this trunca-
tion or beyond, false will be returned. If $length is given and is 0, FALSE or NULL, an empty string will be returned. If
$length is omitted, the substring starting from $start until the end of the string will be returned.
Example #2
Using a negative $length
<?php
$rest = substr("abcdef", 0, -1); // returns "abcde"
$rest = substr("abcdef", 2, -1); // returns "cde"
$rest = substr("abcdef", 4, -4); // returns false
$rest = substr("abcdef", -3, -1); // returns "de"
?>
RETURN VALUES
Returns the extracted part of $string; or FALSE on failure, or an empty string.
CHANGELOG
+--------------+---------------------------------------------------+
| Version | |
| | |
| | Description |
| | |
+--------------+---------------------------------------------------+
|5.2.2 - 5.2.6 | |
| | |
| | If the $start parameter indicates the position |
| | of a negative truncation or beyond, false is |
| | returned. Other versions get the string from |
| | start. |
| | |
+--------------+---------------------------------------------------+
EXAMPLES
Example #3
Basic substr(3) usage
<?php
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f
// Accessing single characters in a string
// can also be achieved using "square brackets"
$string = 'abcdef';
echo $string[0]; // a
echo $string[3]; // d
echo $string[strlen($string)-1]; // f
?>
Example #4
substr(3) casting behaviour
<?php
class apple {
public function __toString() {
return "green";
}
}
echo "1) ".var_export(substr("pear", 0, 2), true).PHP_EOL;
echo "2) ".var_export(substr(54321, 0, 2), true).PHP_EOL;
echo "3) ".var_export(substr(new apple(), 0, 2), true).PHP_EOL;
echo "4) ".var_export(substr(true, 0, 1), true).PHP_EOL;
echo "5) ".var_export(substr(false, 0, 1), true).PHP_EOL;
echo "6) ".var_export(substr("", 0, 1), true).PHP_EOL;
echo "7) ".var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
?>
The above example will output:
1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'
ERRORS
/EXCEPTIONS
Returns FALSE on error.
Example #5
<?php
var_dump(substr('a', 1)); // bool(false)
?>
SEE ALSO
strrchr(3), substr_replace(3), preg_match(3), trim(3), mb_substr(3), wordwrap(3), String access and modification by character.
PHP Documentation Group SUBSTR(3)