永发信息网

linux中declare的详细解释及例子

答案:3  悬赏:40  手机版
解决时间 2021-01-09 01:32
linux中declare的详细解释及例子
最佳答案
declare

核心语法:

-i 声明为整数

-a 声明未数组

-f 声明未函数

-r 声明未只读

以上是较为常用的,当然其他的可以通过 man declare 来获得

在默认情况下我们对于对象的声明字符串,若是希望得到数字整形类型的变量,那么就需要涉及到这次将的declare

我们看个情况:

price=10

num=3

echo $price*num

----------

10*3

若是申明为declare的话,那么就如下所示

inter12@inter12:/tmp$ declare -i price=10;

inter12@inter12:/tmp$ declare -i num=3;

inter12@inter12:/tmp$ declare -i total=$price*$num

inter12@inter12:/tmp$ echo $total

30

其实针对declare 还存在另一种方式来处理,直接来看代码

1 #!/bin/bash

2 #test declare and $(())

3

4

5 userDeclare(){

6

7 declare -i num=1;

8 declare -i price=5;

9 declare -i total=$num*$price

10 echo 'declare style is result is ' $total;

11 }

12

13

14 userDouble(){

15

16 num_d=1

17 price_d=5

18 total_d=$((num_d*price_d))

19 echo "user double price is" $total_d

20 }

21

22

23 userDeclare

24 userDouble

-----------------------------------------------

inter12@inter12:~/myshell/shell/declare$ ./test

declare style is result is 5

user double price is 5

$((num_d*price_d)):代表执行其中的计算并返回结果 , 若为((num_d*price_d))则计算不返回结果,这里需要注意下!

交互式的命令 read

这也是个很常用的命令,根据终端用户的不同输入,执行不同的脚本命令!

1 #!/bin/bash

2

3 echo '---------------this is the first line ---------------'

4 echo '1.echo heihei while you selectd 1'

5 echo '2.echo haha while you selectd 2'

6 echo -n 'Selections is '

7 read selection

8

9 if [ $selection = "1" ];then

10 echo 'heihei'

11 elif [ $selection = "2" ];then

12 echo 'haha'

13 else

14 echo 'invalid option '

15 fi
全部回答
多看手册
语  法:declare [+/-][rxi][变量名称=设置值] 或 declare -f
补充说明:declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示shell函数。若不加上任何参数,则会显示全部的shell变量与函数(与执行set指令的效果相同)。
参  数:
 +/-  "-"可用来指定变量的属性,"+"则是取消变量所设的属性。
 -f  仅显示函数。
 r  将变量设置为只读。
 x  指定的变量会成为环境变量,可供shell以外的程序来使用。
 i  [设置值]可以是数值,字符串或运算式。继续追问:
可以举i2个例子么
补充回答:
范例一:让变数 sum 进行 100+300+50 的加总结果
[root@linux ~]# sum=100+300+50
[root@linux ~]# echo $sum
100+300+50
[root@linux ~]# declare -i sum=100+300+50
[root@linux ~]# echo $sum
450
范例二:将 sum 变成环境变数
[root@linux ~]# declare -x sum
范例三:让 sum 变成唯读属性,不可更动!
[root@linux ~]# declare -r sum
[root@linux ~]# sum=tesgting
-bash: sum: readonly variable
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
2014年的化肥和新出厂的肥效一样吗
情侣游戏名字带雪和陌字
雷锋汽车站到金茂梅西湖公交车
世界第一初恋第一季和第二季哪几集是讲雪名皇
国森壁挂炉,出现E2意外点火故障是怎回事
厨房用台面上一开五眼插座合适吗
浙江为什么不下雪!
在大连老参舫怎么样?
怀孕4周加4天。。
网络连接错误显示 768错误
权志龙和t.o.p属什么
芯片LM393怎么判断是否损坏
宝马5系原车225 50r17轮胎能换245 45r18的轮
super junior 的成员出道之前分别是干什么的
农村自来水是咸的怎么办?
推荐资讯
He doesn’t do his homework , though he ha
手心手指那里有很多小水泡那样子的,按下去有
男生对女生说唯念天地一点白,不负青山不负卿
上海微多网络科技有限公司在什么地方啊,我要
河虾在八月份最多的地方
中兴九号天线怎么解锁
看图猜成语一碗面一头大象一个4一个枯髅头
中国纸类包装哪里做多
我7月2号去职校报名交了学费,现在退学他退学
港式鸡尾包怎么做好吃又简单,做法图解分享,
真多丽果怎么样
dnf宠物春节宝珠用什么调属性
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?