Sponsored Content
Full Discussion: A ( too many?
Top Forums Shell Programming and Scripting A ( too many? Post 302667299 by CiCa on Friday 6th of July 2012 04:10:38 AM
Old 07-06-2012
A ( too many?

Anyone able to assist with the following:

Code:
#!/bin/ksh

-- snip --

echo "\n\nEnter number associated with the change: \c"
                read inc_num
                if [[ "$inc_num" = ? ([+-]) + ([0-9]) ]] || [[ $inc_num = S ]] || [[ $inc_num = s ]]
                then

-- snip --

Above code used to ensure that only a numerical value (or an S) is entered for inc_num, but unfortunately it's bombing out at the following:

Code:
/rsl_v2: line 35: syntax error in conditional expression: unexpected token `('
./rsl_v2: line 35: syntax error near `(['
./rsl_v2: line 35: `                if [[ "$inc_num" = ? ([+-]) + ([0-9]) ]] || [[ $inc_num = S ]] || [[ $inc_num = s ]]'


Not sure whether it's a genuine syntax error, cause I've tested this on another system and it works fine - could it be the version of ksh maybe?

Thanks in advance.
CiCa

Moderator's Comments:
Mod Comment Please view this link: How to use [code]...[/code] tags

Last edited by Scrutinizer; 07-06-2012 at 05:14 AM.. Reason: code tags
 
echo(1B)					     SunOS/BSD Compatibility Package Commands						  echo(1B)

NAME
echo - echo arguments to standard output SYNOPSIS
/usr/ucb/echo [-n] [argument] DESCRIPTION
echo writes its arguments, separated by BLANKs and terminated by a NEWLINE, to the standard output. echo is useful for producing diagnostics in command files and for sending known data into a pipe, and for displaying the contents of envi- ronment variables. For example, you can use echo to determine how many subdirectories below the root directory (/) is your current directory, as follows: o echo your current-working-directory's full pathname o pipe the output through tr to translate the path's embedded slash-characters into space-characters o pipe that output through wc -w for a count of the names in your path. example% /usr/bin/echo "echo $PWD | tr '/' ' ' | wc -w" See tr(1) and wc(1) for their functionality. The shells csh(1), ksh(1), and sh(1), each have an echo built-in command, which, by default, will have precedence, and will be invoked if the user calls echo without a full pathname. /usr/ucb/echo and csh's echo() have an -n option, but do not understand back-slashed escape characters. sh's echo(), ksh's echo(), and /usr/bin/echo, on the other hand, understand the black-slashed escape characters, and ksh's echo() also understands a as the audible bell character; however, these commands do not have an -n option. OPTIONS
-n Do not add the NEWLINE to the output. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWscpu | +-----------------------------+-----------------------------+ SEE ALSO
csh(1), echo(1), ksh(1), sh(1), tr(1), wc(1), attributes(5) NOTES
The -n option is a transition aid for BSD applications, and may not be supported in future releases. SunOS 5.11 3 Aug 1994 echo(1B)
All times are GMT -4. The time now is 04:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy