问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Linux里面declare -i命令作用是什么?

发布网友 发布时间:2022-04-22 17:24

我来回答

3个回答

热心网友 时间:2023-11-13 18:54

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

热心网友 时间:2023-11-13 18:55

语  法: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

热心网友 时间:2023-11-13 18:55

多看手册
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
亲肤绒与猫抓布,哪款面料做沙发好? 我需要 天津大学_高等数学(上下册)_蔡高厅,有这个的百度网盘吗? 蔡高厅讲的高数是哪版教材 自考高等数学工专如何学 2022情侣必备的经典感恩节祝福语 送给爱人的感恩节祝福语 感恩节给爱人祝福语 如何下载小升初数学试卷 请问各位朋友,有哪些好网站,上面有各地优秀的小升初的数学试卷? 民生信用卡什么合适 关于“方便面”的句子有哪些? 吃泡面适合发的朋友圈 吃泡面的心情说说 描写方便面美味可口的句子 朋友圈晒吃泡面配的句子有哪些? 吃泡面,心酸的句子有哪些? 如何在Ubuntu和LinuxMint设置时间同步服务器 手写板的使用方法 如何使用手写板 电脑键盘上的手写板怎么用 手写板的使用和保养,数位板怎么用 手写板怎么使用? 手写板要怎么使用? 手写板如何使用? SOS!!美国 加拿大还是新加坡 中国,美国,英国,新加坡,加拿大的英文怎么拼 新加坡和加拿大的首都是什么? 印度澳大利亚美国加拿大新加坡是使用什么语的大国 加拿大,新加坡,澳大利亚的官方语言各是什么 汽车高档香水有哪些品牌 linux中declare的详细解释及例子 八月十五吃泡面心酸心情说说 Linux里面declare -x中x作用是什么? 闺密生日吃泡面怎么发说说呢? 在linux下执行declare -A fruite_value 报错 linux 的declare和export有什么区别 关于方便面的句子 linux下mysql用declare报错,怎么解决啊? 又冷又饿的朋友圈说说怎么写? Linux 中每次切换到一个特定用户的时候都会出现一大列的declare -x xxx 是什么情况? 吃了泡面很开心的说说 linux中declare的详细解释及例子 缓解坏心情的说说:心情不好的时候,就去超市捏捏方便面 Linux 出现command not found 错误解决 方便面的做比较句子是什么? linux shell declare 说说你们最喜欢吃什么味道的方便面? linux怎么配置全局变量 吃泡面适合发的朋友圈 404 Not Found