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是脚本后面的第一个字符
$#是脚本后面所跟字符的个数
$* 与 $@均是所有所跟字符(看起来作用一样,其实作用不一样)




本文深入探讨了Shell脚本中变量声明、转义字符的使用及变量值的传递方式。详细解释了如何使用进行转义,变量声明的方法,以及如何通过$0、$1等获取脚本名称和参数。
2059

被折叠的 条评论
为什么被折叠?



