当前位置:首页 » 操作系统 » linuxshell数字

linuxshell数字

发布时间: 2024-02-07 15:36:40

linux命令 SHELL编程:从键盘输入一个数,若大于0,则输出该数;若小于或等于0,则输出0值。程序怎么写

#! /bin/bash
read num
#判断是否是数字
if [ `echo $num | grep - P '^-?\d+'$ |wc - l ` == 1 ] ; then
#判断是否大于0
if [ $num >0 ] ; then
echo $num
else
echo 0
fi
else
echo "不是数字"
fi

⑵ linux shell 如何比较两个整数的大小

linux shell比较两个整数的大小可以采用以下的代码:

#!/bin/sh

max=9

min=8

if [ $max -gt $min ]

then

echo 1

else

echo 0

fi

数字的比较:

-eq 相等(equal)

-ne 不等(not equal)

-gt 大于(greater than)

-lt 小于(less than)

-ge 大于等于 (greater than or equal)

-le 小于等于 (less than or equal)

字符串的比较:

[ $str1 = $str2 ] 等于

[ $str1 != $str2 ] 不等于

[ -z $str ]空字符串返回true

[ -n $str ] 或者 [ $str ] 非空字符串返回true

(2)linuxshell数字扩展阅读:

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

shell命令

命令行c

用户登录到Linux系统时,可以看到一个shell提示符,标识了命令行的开始。用户可以在提示符后面输入任何命令及参数。例如:

$ date

二 11 23 01:34:58 CST 1999

$

用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统。命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下:

$ Command Option Arguments

⑶ linux shell 如何让数字按要求位数显示如0显示为000,10显示为010

for((i=1;i<=100;i++))
do
a=$((1000+$i))
echo${a:1}
done

⑷ 怎么在linux shell 里自动输入一个数字,比如2,然后自动执行一个回车

可以设置read命令计数输入的字符。当输入的字符数目达到预定数目时,自动退出,并将输入的数据赋值给变量。
#!/bin/bash
read -n1 -p "Do you want to continue [Y/N]?" answer
case $answer in
Y | y)
echo "fine ,continue";;
N | n)
echo "ok,good bye";;
*)
echo "error choice";;
esac
exit 0
该例子使用了-n选项,后接数值1,指示read命令只要接受到一个字符就退出。只要按下一个字符进行回答,read命令立即接受输入并将其传给变量。无需按回车键。

⑸ linux的shell脚本编程,求两数字间所有偶数的和,我是小白,不太懂。

这部分主要讨论数学相关的shell脚本编程。
加法运算
新建一个文件“Addition.sh”,输入下面的内容并赋予其可执行的权限。

复制代码代码如下:
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(expr "$a" + "$b")
echo $a + $b = $x

输出结果:

复制代码代码如下:

[root@tecmint ~]# vi Additions.sh
[root@tecmint ~]# chmod 755 Additions.sh
[root@tecmint ~]# ./Additions.sh

“Enter the First Number: ”
12
“Enter the Second Number: ”
13
12 + 13 = 25

减法运算

复制代码代码如下:

#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(($a - $b))
echo $a - $b = $x

注意:这里我们没有像上面的例子中使用“expr”来执行数学运算。

输出结果:

复制代码代码如下:

[root@tecmint ~]# vi Substraction.sh
[root@tecmint ~]# chmod 755 Substraction.sh
[root@tecmint ~]# ./Substraction.sh

“Enter the First Number: ”
13
“Enter the Second Number: ”
20
13 - 20 = -7

乘法运算

复制代码代码如下:

#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a * $b = $(expr $a \* $b)"

输出结果:

复制代码代码如下:

[root@tecmint ~]# vi Multiplication.sh
[root@tecmint ~]# chmod 755 Multiplication.sh
[root@tecmint ~]# ./Multiplication.sh

“Enter the First Number: ”
11
“Enter the Second Number: ”
11
11 * 11 = 12

除法运算

复制代码代码如下:

#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a / $b = $(expr $a / $b)"

输出结果:

复制代码代码如下:

[root@tecmint ~]# vi Division.sh
[root@tecmint ~]# chmod 755 Division.sh
[root@tecmint ~]# ./Division.sh

“Enter the First Number: ”
12
“Enter the Second Number: ”
3
12 / 3 = 4

数组
下面的这个脚本可以打印一组数字。

复制代码代码如下:

#!/bin/bash
echo “Enter The Number upto which you want to Print Table: ”
read n
i=1
while [ $i -ne 10 ]
do
i=$(expr $i + 1)
table=$(expr $i \* $n)
echo $table
done

输出结果:

复制代码代码如下:

[root@tecmint ~]# vi Table.sh
[root@tecmint ~]# chmod 755 Table.sh
[root@tecmint ~]# ./Table.sh

“Enter The Number upto which you want to Print Table: ”
29
58
87
116
145
174
203
232
261
290

你可以从这里下载这个例子的代码

判断奇偶数

复制代码代码如下:

#!/bin/bash
echo "Enter The Number"
read n
num=$(expr $n % 2)
if [ $num -eq 0 ]
then
echo "is a Even Number"
else
echo "is a Odd Number"
fi

输出结果:

复制代码代码如下:

[root@tecmint ~]# vi EvenOdd.sh
[root@tecmint ~]# chmod 755 EvenOdd.sh
[root@tecmint ~]# ./EvenOdd.sh

Enter The Number
12
is a Even Number
1
2
3
4
5
[root@tecmint ~]# ./EvenOdd.sh

Enter The Number
11
is a Odd Number

Factorial数

复制代码代码如下:

#!/bin/bash
echo "Enter The Number"
read a
fact=1
while [ $a -ne 0 ]
do
fact=$(expr $fact \* $a)
a=$(expr $a - 1)
done
echo $fact

输出结果:

复制代码代码如下:
[root@tecmint ~]# vi Factorial.sh
[root@tecmint ~]# chmod 755 Factorial.sh
[root@tecmint ~]# ./Factorial.sh

Enter The Number
12
479001600

你可以从这里下载这个例子的代码

判断Armstrong数
Armstrong数:在三位的正整数中,例如abc,有一些可能满足(a^3)+(b^3)+(c^3)=abc,即各个位数的立方和正好是该数的本身。这些数即称为Armstrong数。

复制代码代码如下:

#!/bin/bash
echo "Enter A Number"
read n
arm=0
temp=$n
while [ $n -ne 0 ]
do
r=$(expr $n % 10)
arm=$(expr $arm + $r \* $r \* $r)
n=$(expr $n / 10)
done
echo $arm
if [ $arm -eq $temp ]
then
echo "Armstrong"
else
echo "Not Armstrong"
fi

输出结果:

复制代码代码如下:

[root@tecmint ~]# vi Armstrong.sh
[root@tecmint ~]# chmod 755 Armstrong.sh
[root@tecmint ~]# ./Armstrong.sh

Enter A Number
371
371
Armstrong
1
2
3
4
5
6
[root@tecmint ~]# ./Armstrong.sh

Enter A Number
123
36
Not Armstrong

判断质数

复制代码代码如下:

#!/bin/bash
echo “Enter Any Number”
read n
i=1
c=1
while [ $i -le $n ]
do
i=$(expr $i + 1)
r=$(expr $n % $i)
if [ $r -eq 0 ]
then
c=$(expr $c + 1)
fi
done
if [ $c -eq 2 ]
then
echo “Prime”
else
echo “Not Prime”
fi

输出结果:

复制代码代码如下:

[root@tecmint ~]# vi Prime.sh
[root@tecmint ~]# chmod 755 Prime.sh
[root@tecmint ~]# ./Prime.sh

“Enter Any Number”
12

“Not Prime”

⑹ Linux下shell脚本中怎么比较两个数字

[
1
-gt
0
]
测试1是否大于0,-gt表示大于,-lt测试小于,-eq比较两个数字是否相等

热点内容
php动态链接 发布:2024-11-28 19:34:16 浏览:150
手机上的安卓系统在哪里看 发布:2024-11-28 19:29:06 浏览:788
空调外机压缩机声音大 发布:2024-11-28 19:27:28 浏览:312
中国密码箱哪里的好 发布:2024-11-28 19:23:01 浏览:309
低配服务器如何搭建网站 发布:2024-11-28 19:08:46 浏览:923
zenly为什么不能下载安卓机 发布:2024-11-28 18:59:05 浏览:295
怎么把辅助放入服务器 发布:2024-11-28 18:53:06 浏览:598
渲染器服务器ip一定吗 发布:2024-11-28 18:44:38 浏览:648
光遇的服务器老是爆满怎么办 发布:2024-11-28 18:41:10 浏览:714
sql最大日期的记录 发布:2024-11-28 18:35:35 浏览:716