欢迎各位兄弟 发布技术文章
这里的技术是共享的
1)使用变量无需事先声明2)首个字符必须为字母(a-z,A-Z)3)中间不能有空格,可以使用下划线(_)4)不能使用标点符号5)不能使用bash里的关键字(可用help命令查看保留关键字)6)需要给变量赋值时,可以这么写:7)变量名=值8)取一个变量的值,只需在变量名前面加一个$ ( 注意: 给变量赋值的时候,不能在"="两边留空格 )
#!/bin/sh# 对变量赋值:a="hello world"#等号两边均不能有空格存在 # 打印变量a的值:echo "A is:" $a挑个自己喜欢的编辑器,输入上述内容,并保存为文件first,然后执行 chmod +x first 使其可执行,最后输入./first 执行该脚本。其输出结果如下:"A is: hello world "
错误用法:
有时候变量名可能会和其它文字混淆,比如:num=2echo "this is the $numnd"上述脚本并不会输出"this is the 2nd"而是"this is the";这是由于shell会去搜索变量numnd的值,而实际上这个变量此时并没有值。
正确用法:
num=2echo "this is the ${num}nd"其输出结果为:"this is the 2nd"[注意:花括号的位置?num=2echo "this is the {$num}nd"其输出结果为:this is the {2}nd]
需要注意shell的默认赋值是字符串赋值。错误方式:
var=1var=$var+1echo $var打印出来的不是2而是1+1。
正确方式:
1)let "var+=1"2)var=$[$var+1] 3)var=`expr $var +1`#注意加号两边的空格,否则还是按照字符串的方式赋值。[暂时无效]echo $var 打印出来是2注意:前两种方式在bash下有效,在sh下会出错。[注意:我的虚拟机中:/bin/sh->/bin/bash]let表示数学运算;$[]将中括号内的表达式作为数学运算先计算结果再输出;