1.转义
\转义单个字符或者字符串
''强引用,也是转义
""弱引用,也是转义
a=#
echo $a
echo #
echo *
元字符:* # ? !这些字符都有自身的含义,需要转义\
echo \*
echo \#
echo \###
echo \* *
echo \* \*
echo "* *"(不能引用(转义)! `` \ ! $)
echo '!'均可以引用
echo '?'
2.变量声明
变量声明(系统中存在的变量)
a=1
echo $ab(默认会寻找ab这个整体)
echo ${a}b
a=(1 2 3 )定义一个数组
echo $a
echo ${a[0]}
echo ${a[1]}
echo ${a[*]}
3.变量值的传递
vim yyh.sh
#!/bin/bash
echo \$0 is $0
echo \$1 is $1
echo \$2 is $2
echo \$3 is $3
echo \$# is $#
echo \$* is $*
echo \$@ is $@
sh test.sh
发现:
$0 是脚本名字
vim test.sh
echo \$\$ is $$
sh test.sh
发现$$是当前进程的pid
$1是脚本后面的第一个字符
/mnt/test.sh westos linux
$2是脚本后面的第一个字符
/mnt/test.sh westos linux haha
$3是脚本后面的第一个字符
$#是脚本后面所跟字符的个数
$* 与 $@均是所有所跟字符(看起来作用一样,其实作用不一样)