分享

Bash中的declare语句

 用勿龍潛 2011-09-22

Bash中的declare语句

若要把一个变量声明为只读,请使用如下语句:

declare -r varname

假定有以下脚本:

#!/bin/bash
 
a=13
declare -r a
echo $a
a=14
echo $a

运行时,第二个赋值语句将不起作用:

$ sh decl.sh
13
decl.sh: line 6: a: readonly variable

若要声明变量只接受数值(整数),请使用如下语句:

declare -i varname

假定有以下脚本:

#!/bin/bash
 
declare -i a
a=12
echo $a
a=hello
echo $a

运行时,第二个赋值语句没有把出现在语句中的字符串"hello"而是将0赋给变量:

$ sh decl2.sh
12
0

declare语句还有其他选择:-a选项可用来把一个变量声明为一个数组,但这没有必要。所有变量都不必显式定义就可以用作数组。事实上,在某种意义上,似乎所有变量都是数组,而且赋值给没有下标的变量与赋值给"[0]"相同。假定有以下脚本:

#!/bin/bash
 
a=12
echo ${a[0]}
b[0]=13
echo $b

运行得:

$ sh arr.sh
12
13

如需更多选项,请参考bash帮助手册(先搜索"^SHELL BUILTINS",然后搜索"declare")。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多