网站建设资讯

NEWS

网站建设资讯

shell自定义变量-创新互联

一、Shell定义变量需要遵循的规则

Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下规则:

创新互联是一家专注于成都网站建设、网站设计与策划设计,通河网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:通河等地区。通河做网站价格咨询:18980820575
  1. 首个字符必须为字母(a-z,A-Z)

  2. 中间不能有空格,可以使用下划线(_)

  3. 不能使用标点符号

  4. 不能使用bash里的关键字(可用help命令查看保留关键字)

二、shell变量赋值

需要给变量赋值时,可以这么写:
  变量名=值

三、shell变量的引用

要取用一个变量的值,只需在变量名前面加一个$ ( 注意: 给变量赋值的时候,不能在"="两边留空格 )。例如:
#!/bin/sh
# 对变量赋值:
a="hello world"  #等号两边均不能有空格存在
# 打印变量a的值:
echo "A is:" $a
注:上边的#号为注释,将在后边讲到。

挑个自己喜欢的编辑器,输入上述内容,并保存为文件first,然后执行 chmod +x first 使其可执行,最后输入 ./first 执行该脚本。其输出结果如下:
  A is: hello world

有时候变量名可能会和其它文字混淆,比如:
  num=2
  echo "this is the $numnd"

上述脚本并不会输出"this is the 2nd"而是"this is the ";这是由于shell会去搜索变量numnd的值,而实际上这个变量此时并没有值。这时,我们可以用花括号来告诉shell要打印的是num变量:
  num=2
  echo "this is the ${num}nd"

其输出结果为:this is the 2nd

注意:shell的默认赋值是字符串赋值。比如:
  var=1
  var=$var+1
  echo $var
打印出来的不是2而是1+1。为了达到我们想要的效果有以下几种表达方式:
  let "var+=1"
  var=$[$var+1]
  var=`expr $var + 1`#注意加号两边的空格,否则还是按照字符串的方式赋值。
注意:前两种方式在bash下有效,在sh下会出错。

let表示数学运算,expr用于整数值运算,每一项用空格隔开,$[]将中括号内的表达式作为数学运算先计算结果再输出。

Shell脚本中有许多变量是系统自动设定的,我们将在用到这些变量时再作说明。除了只在脚本内有效的普通shell变量外,还有环境变量,即那些由exp

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:shell自定义变量-创新互联
本文路径:http://cdweb.net/article/dhpddc.html