1.shell的赋值,并打印 #!/bin/bash #echo hi name="test" echo $name name="new_test" echo ${name} unset name echo $name 2.获取字符长度 name="jys" var="my name is ${name}" echo $var echo ${#var} #获取长度 3.提取字符串 name="my name is kangkang" echo ${name:1:4} #截取字符串的2到4位 echo ${name::4} #截取字符串的1到4位 4.定义数组并输出 arrayname[0]="li" #定义数组 arrayname[3]="zhang" echo ${arrayname[0]} #输出数组对应值 echo ${arrayname[1]} echo ${arrayname[3]} echo ${#arrayname[*]} #获取个数 5.参数传递 获取参数值: $0 :固定,代表执行的文件名 $1 :代表传入的第1个参数 $n :代表传入的第n个参数 \$#:参数个数 \$*:以一个单字符串显示所有向脚本传递的参数。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数 \$@:与$*相同,但是使用时加引号,并在引号中返回每个参数。 \$\$:脚本运行的当前进程号 \$!:后台运行的最后一个进程的ID \$?:显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 \$* 与 $@ 区别 相同点:都是引用所有参数。 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。 6.大小比较 ##########if else大小比较########### if [ 1 -eq 2 ] then echo "hello world" elif [ 2 -eq 2 ] then echo "hello world 2" fi ##########if else进行大小比较###########