Shell parameter definition

 
Thread Tools Search this Thread
Operating Systems Linux Fedora Shell parameter definition
# 15  
Old 05-08-2012
No, the test was on Solaris 10, where /bin/sh is Bourne shell
These 2 Users Gave Thanks to Scrutinizer For This Post:
# 16  
Old 05-08-2012
Anybody managed to work out what Shell @jacobs.smith is using?
I can't re-create the exact error message posted.

Last edited by methyl; 05-08-2012 at 08:19 PM..
This User Gave Thanks to methyl For This Post:
# 17  
Old 05-08-2012
I tried this in bash 3:
Code:
$ [[ 1.3 -eq 1 ]]
-bash: [[: 1.3: syntax error: invalid arithmetic operator (error token is ".3")

This User Gave Thanks to Scrutinizer For This Post:
# 18  
Old 05-08-2012
Just for completeness, besides ksh93 there is one more shell that can do floating point: zsh
Code:
% [[ 1.3 -gt 1.2345 ]] && echo "hello"
hello


Last edited by Scrutinizer; 05-09-2012 at 01:46 AM..
This User Gave Thanks to Scrutinizer For This Post:
# 19  
Old 05-08-2012
Quote:
Originally Posted by Scrutinizer
Code:
$ cat floattest2
#!/bin/sh
a=-0.5
b=1.3

if [ $a -le 0 ] || [ $b -ge 1 ]; then
  echo Hello
else
  echo Goodbye
fi


a=-0.5
b=1.3

if [ $a -lt 0 ] || [ $b -gt 1 ]; then
  echo Hello 2
else
  echo Goodbye 2
fi

Code:
$ ./floattest2
Hello
Goodbye 2

So it only seemed to working in Bourne shell on Solaris, but that is because for this shell -0.5 is equal to 0 and 1.3 is equal to 1...
Doh, good catch! Good lesson! Smilie
This User Gave Thanks to gary_w For This Post:
# 20  
Old 05-09-2012
Quote:
Originally Posted by Scrutinizer
Just for completeness, besides ksh93 there is one more shell that can do floating point: zsh
Code:
% [[ 1.3 -gt 1.2345 ]] && echo "hello"
hello

Hello Scrutinizer, thanks for your solutions.

But, how do I switch to zsh or ksh to make my code work?

I tried making the #!/bin/bash to #!/bin/sh, and still no luck. SmilieSmilieSmilieSmilieSmilieSmilieSmilieSmilieSmilieSmilie
# 21  
Old 05-10-2012
Based on the very limited information and examples supplied by the O/P, I deduce that your two parameters are numbers between 0.1 and 0.9 inclusive.

We could treat each parameter as a string and test for all possible valid values.

Code:
ABCDJ="$1"
GHIJJ="$2"
#
case "${ABCDJ}" in
        "0.1"|"0.2"|"0.3"|"0.4"|"0.5"|"0.6"|"0.7"|"0.8"|"0.9")
                :       # Do nothing
                ;;
        *)
                echo -e "Option limit should be positive number and less than 1. Program aborts!"
                exit 1
                ;;
esac
#
case "${GHIJJ}" in
        "0.1"|"0.2"|"0.3"|"0.4"|"0.5"|"0.6"|"0.7"|"0.8"|"0.9")
                :       # Do nothing
                ;;
        *)
                echo -e "Option limit should be positive number and less than 1. Program aborts!"
                exit 1
                ;;
esac
#
echo -e "Valid parameters supplied ${ABCDJ} ${GHIJJ}"


Last edited by methyl; 05-10-2012 at 09:09 AM..
This User Gave Thanks to methyl For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Get Parameter with Shell request

How can I get Parameters with Shell Request. I mean so but not work: PHP: error_reporting(E_ALL); $hallo ="Hallo Welt"; print_r(shell_exec("sh client.sh $hallo")); Shell: echo $hallo echo ceck (5 Replies)
Discussion started by: Linuxmann
5 Replies

2. Shell Programming and Scripting

Passing a command shell parameter to another shell

Good afternoon, i need your help pls I want to write a new script that start running as soon as a previus one finish via Autosys (it should be implemented via Autosys too to validate the exsitance and the successful transfered file to a remote server Whenever the file arrives to the path... (2 Replies)
Discussion started by: alexcol
2 Replies

3. Shell Programming and Scripting

Script Shell Parameter

Hi I have two shell script, the second script takes as a parameter the output variable of the first script, please how to retrieve the variable from the first script to pass as a parameter to the second script? Script1.sh i=0 i=$(($i + 1)) Script2.sh echo $1 Thank you (0 Replies)
Discussion started by: chercheur111
0 Replies

4. UNIX for Dummies Questions & Answers

Parameter change in shell script

How can i chnage the parameter value in shell script. file name is icare_mmi_cls.com, iside that the parameter name is 10.100.1.2" replace the address to bep-sftp.cce.com. can you please provide me with examples. Thanks. (3 Replies)
Discussion started by: damodarreddys
3 Replies

5. Shell Programming and Scripting

parameter value change in shell script

How can i chnage the parameter value in shell script. file name is icare_mmi_cls.com, inside that the parameter name is 10.100.1.2" replace the address to bep-sftp.cce.com. can you please provide me with examples. Thanks Double post - check your PMs and follow the rules, thanks. (0 Replies)
Discussion started by: damodarreddys
0 Replies

6. Shell Programming and Scripting

Find C function definition in from Shell script

Hi, I am having list of C function names say function1 function2 function3 and i am having many source files under my current directory. Now i would like to find the file names which contains the function definition from my list. It would be appreciable if... (1 Reply)
Discussion started by: tsaravanan
1 Replies

7. Shell Programming and Scripting

simple shell - how to get a parameter typed in a shell script

Hi, I am new to unix and using linux 7.2. I would like to create a script that would make it easyer for me to run my java programms. At the moment I have to type java myJavaprogram I am trying to write a script that will allow me to type something like this "myscript myJavaprogram" or maybe... (4 Replies)
Discussion started by: cmitulescu
4 Replies

8. Shell Programming and Scripting

Shell Parameter...

I am trying to get the value of the user id (uid), which is the shell parameter.Then, read the /etc/passwd and keep the lines where the uid is superior to the parameter and write this line in a new file. But I am not getting what I wanted. Perhaps there is a problem with the Syntax below :- ... (1 Reply)
Discussion started by: marconi
1 Replies

9. Shell Programming and Scripting

Failed to concatenate parameter in k-shell

Hi folks, I'm trying to concatinate a time zone offset parameter to the word "GMT" and i failed. I have the following function: update_opmn_xml() { echo "\nChecking opmn.xml ..." ## Calculating timezone offset calc_timezone_offset echo ${TzOffset} export opmnXml=/tmp/opmn.xml... (1 Reply)
Discussion started by: nir_s
1 Replies

10. Shell Programming and Scripting

Shell parameter existence

Hello You know how to ask for the existence of one parameter and depending about it then do something, example: Original script: ################### USER=$1 PASS=$2 program1 $USER $PASS ################### Desired shell ################### USER=$1 PASS=$2 ARCH=$3 if then ... (3 Replies)
Discussion started by: osymad
3 Replies
Login or Register to Ask a Question