Combat 1: Enter 2 integers to determine the size
Three ways to achieve:
1 defining a variable 2 script parameter 3 read read-in
The first step, give the user prompt, let it enter an integer
The second step is to determine that the first value and the second value are not empty
The third step is to determine the two number as an integer
Fourth, the first value is compared to the second value
[[email protected] scripts]# cat test21.sh #!/bin/bashcat <<eof 1-10... zhengshuEOFread -p "Panduan daxiao:" a b[ $ {#a} -eq 0 ]&&{ echo "Diyigecanshu" exit 1}[ ${#b} -eq 0 ]&&{ echo "Diergecanshu" exit 1}expr $a + 1 &>/dev/nullRE_A=$?expr $b + 1 &>/dev/nullRE_B=$?if [ $RE _a -ne 0 -o $RE _b -ne 0 ] then echo "One of you input is not int" exit 1fi if [ $a -eq $b ]; then echo "$a = $b" elif [ $a -gt $b ] then echo "$a > $b" else echo "$a < $b" fi [[email protected] scripts]# sh test2test20.sh test21.sh test2.sh [[email Protected] scripts]# sh test21.sh 1-10... zhengshupanduan daxiao:e eone of you input is not int[[email protected] scripts]# sh test21.sh 1-10... zhengshupanduan daxiao:2 342 < 34[[email protected] scripts]# sh test21.sh 1-10 ... zhengshupanduan daxiao:3 33 = 3[[email protected] scripts]#
Implementation of script-pass method
I'm here to make a change to the above. into Vim.
%s# $a #$1#g%s# $b #$2#g when you delete a few lines, you implement the way the script is passed
[[email protected] scripts]# cat test22.sh #!/bin/bash[ ${#1} -eq 0 ]&&{ echo "Diyigecanshu" exit 1}[ ${#2} -eq 0 ]&&{ echo "Diergecanshu" exit 1}expr $1 + 1 &>/ dev/nullre_a=$?expr $2 + 1 &>/dev/nullre_b=$?if [ $RE _a -ne 0 -o $RE _b -ne 0 ] then echo "one of you input is not int " exit 1fi if [ $1 -eq $2 ]; then echo "$1 = $2" elif [ $1 -gt $2 ] then echo "$1 > $2" else echo "$1 < $2" Fi [[email protected] scripts]# sh test22.sh 3 done of you input is not int[[email protected] scripts]# sh test22.sh 3 43 < 4[[email protected] scripts]# sh test22.sh 3 33 = 3[[email protected] scripts]#
How variables are defined
Here I replace the following original variables with the following command to test
[[email protected] scripts]# sh test23.sh 3 < 4[[email protected] scripts]# sed -i "S#3#4#g" test23.sh [[email protected] Scripts]# sh test23.sh 4 = 4[[email protected] scripts]# sed -i "S#4#dd#g" test23.sh [[email protected] scripts]# sh test23.sh one of you input is not int[[email protected] scripts]# cat test23.sh #!/bin/basha=ddb=dd[ ${#a} -eq 0 ]&&{ echo "Diyigecanshu" exit 1}[ ${#b} -eq 0 ]&&{ echo "Diergecanshu" exit 1}expr $a + 1 &>/dev/nullRE_A=$?expr $b + 1 &>/dev/nullre_b=$?if [&nBSP; $RE _a -ne 0 -o $RE _b -ne 0 ] then echo "One of you input is not int" exit 1fiif [ $a -eq $b ]; then echo "$a = $b" elif [ $a -gt $b ] then echo $a > $b else echo $a < $b "fi [[ email protected] scripts]#
This article from the "Clear Sky" blog, declined reprint!
Linux-shell the size of the judgment