On the same system, using ksh instead of bash, try:
Code:
#!/bin/ksh
# perfect_square <number>
number=$1
if [ "$number" -eq "$((int(number)))" ] > /dev/null 2>&1
then
if [ "$number" -lt 0 ]
then
echo "Warning! Integer is negative!!!"
echo "Set input integer to the DEMO value of 99..."
number=99
fi
else
echo "Invalid Argument! Set input integer to the DEMO value of 100..."
number=100
fi
root=$((int(number ** .5)))
square=$((root ** 2))
if [ $square -eq $number ]
then
echo "$number is the perfect square of $root..."
exit 0
else
echo "Integer $number is not a perfect square..."
exit 1
fi
PS Timing the script:
Code:
time perfect_square 90000000000
90000000000 is the perfect square of 300000...
real 0m0.00s
user 0m0.00s
sys 0m0.01s
Unfortunately, however, this only works with a 1993 or later version of ksh.
Last edited by Don Cragun; 08-19-2015 at 06:48 PM..
Reason: Adding timing results (11 seconds vs. .01 seconds) and disclaimer.
This User Gave Thanks to Don Cragun For This Post:
Hi All,
I have a file of the following format.
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user... (5 Replies)
Here's my work of testing whether a number input is perfect or not..
echo Enter a number
read no
i=1
ans=0
while
do
if
then
ans='expr $ans + $i'
fi
i='expr $i + 1'
done
if
then
echo $no is perfect
else
echo $no is NOT perfect
fi (12 Replies)
I've got an aix-box somewhere on the network and a PC on my desk. Nothing fancy so far.
The PC is made dual-boot:
- windowsXP with putty & winSCP
or
- slackware 13 with xfce4 installed.
The aix-box runs DB2 v8.2 and I've installed db2top to monitor the database.
db2top is a character... (0 Replies)
Hi All,
I have a text file which looks like this:
computer programming
systems engineering
I want to get rid of these square brackets and also the text that is inside these brackets. So that my final text file looks like this:
computer programming
systems engineering
I am using... (3 Replies)
I want to print only the lines that meet the criteria : "worde:" and "wordo;"
I got this far:
sed -n '/\(*\)\1e:\1o;/p;'
But it doesn't quite work.
Can someone please perfect it and tell me exactly how its a fixed version/what was wrong with mine?
Thanks heaps, (1 Reply)
I have to find last delimiter in each line of a file and store the value after the last '/' in a variable in ksh script...Pls Pls help me:(The file is as shown below:
/opt/apps/cobqa/apps/abadv/bind/advc0007.bnd
/opt/apps/cobqa/apps/abbrio/bind/naac6115.bnd... (5 Replies)
Discussion started by: bhavanabahety
5 Replies
LEARN ABOUT SUNOS
print
print(1) User Commands print(1)NAME
print - shell built-in function to output characters to the screen or window
SYNOPSIS
ksh
print [ -Rnprsu [n]] [arg...]
DESCRIPTION
ksh
The shell output mechanism. With no flags or with flag - or -, the arguments are printed on standard output as described by echo(1).
OPTIONS
The following options are supported:
-n suppresses new-line from being added to the output.
-R
-r (raw mode) ignore the escape conventions of echo. The -R option will print all subsequent arguments and options other than
-n.
-p causes the arguments to be written onto the pipe of the process spawned with |& instead of standard output.
-s causes the arguments to be written onto the history file instead of standard output.
-u [ n ] flag can be used to specify a one digit file descriptor unit number n on which the output will be placed. The default is 1.
EXIT STATUS
The following exit values are returned:
0 Successful operation.
>0 Output file is not open for writing.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO echo(1), ksh(1), attributes(5)SunOS 5.10 15 Apr 1994 print(1)