在shell中有三种变量:用户变量,系统变量,和环境变量,其中用户变量在编程过程中使用最多,系统变量在对参数和命令返回值进行判断时会用到,环境变量主要是在程序运行时需要设置 ,shell变量区分大小写
shell变量没有任何数据类型的概念,当向shell类型赋值的时候,不管值是什么类型,shell都简单的将它理解为字符串
例: variable=1
shell只是把字符1,而不是数字1存放到variable中,而根本不会理会存在变量的是一个整数值
注意:
1、shell变量赋值号“=”俩边不能空格,区分c,c++在操作符俩边有空格的编程习惯,并且,等号右边的字符串不能包含空格,如果有空格,如果字符串变量中需要使用空格,则必须用引号将它们括起来
2、无论何时,如果想要使用存储在shell中的变量值,一定要在该变量名前加美元符号“$”
read:可以从终端上输入的字符串(以回车符结束),可以正确保存地保存到用户变量中
shell的参数置换
1、变量=${参数-word}
例如name=${name1-word}
如果变量name1设置过值了,就把name1的值赋给name,否则就将word赋值给name
2、变量=${参数=word}
例如name=${name1=word}
如果变量name1设置过值 了,就把name1的值赋值给name,否则就将word的值赋值给name1,再讲name1值赋值给name
3、变量=${参数?word}
例如name=${name1?word}
如果变量name1设置过值了,就把name1的值赋给name,否则就打印word,但不将word赋值给name1
4、变量=${参数+word}
例如name=${name1+word}
如果变量name1设置过值了,就把name1的值赋值给name,否则什么都不设置