shell脚本中也有变量的概念,而且没有类型的概念,可以随意赋值.
- #!/bin/sh
- str="hello"
- printf "str=%s " $str #输出str=hello
- str=2
- echo "str" #输出str
- echo "$str" #输出2
- echo '$str' #输出$str
- echo "$strworld" #输出Syntax error: word unexpected (expecting ")")
- echo "${str}world" #输出2world
- printf "str=%d" $str #输出str=2
如果需要输出变量的值,需要在变量名前面加上$,而且不能使用单引号' ',如果使用单引号' ',那么就会当作字符串进行输出,不会将变量的值输出.要输出变量的值,变量后面又有跟着其他的字符串,需要将变量的名称使用{}进行括起来.
变量的输出也可以按照C语言格式输出
变量的输入就简单了,read 变量名,即可实现输入
12. read str #读入数据到变量str中
13. echo $str #将读入的值输出
14. path=$(pwd) #将pwd执行的结果赋值给path
$(命令)这种形式可以将该命令的结果赋值给变量
还有一些系统预定义的变量:
echo "这个程序的名字:$0";
echo "参数的数量:$#"
echo "所有的参数:$*"
echo "当前进程号:$$"
echo "命令执行的返回状态:$?"
echo "后台运行的最后一个进程号:$!"