linux中declare的详细解释及例子

 我来答
小米飞猫
推荐于2017-11-28 · 专注于IT监控领域技术
小米飞猫
采纳数:1653 获赞数:4811

向TA提问 私信TA
展开全部
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
匿名用户
2012-06-26
展开全部
语  法: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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-07-06
展开全部
多看手册
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式