shell学习总结之特殊字符及特殊变量

运行结果:

bixiaopeng@bixiaopengtekiMacBook-Pro Shell备忘录$ bash Shell变量使用总结.sh param1 param2 param3

# -------------------------------------------------------
# =============  特殊字符 ==========
# -------------------------------------------------------
# ========= 用转义符\,屏蔽下一个字符的特殊意义
# ========= 特殊字符及其意义 =========
# &  :传递到脚本的参数数量
# *  :0个或多个在*字符前的那个普通字符
# +  :匹配1个或多个在其之前的普通字符
# ^  :匹配行首,或后面字符的非
# $  :命令退出状态,0表示没错误,非0...
# `  :反引号,shell引用符号,解析命令
# "  :双引用,shell引用符号
# |  :管道符号或表示“或”意义
# ?  :代表单个字符
# \  :转义符本身

# ========= 转义符后跟字母表示的特殊意义:=========
# \n     :换行
# \r     :回车
# \t     :Tab键
# \v或\f :换行但光标停留在原来位置
# \b     :Backspace键
# \a     :警报声
# \0xx   :ASCII码0xx对应字符


# -------------------------------------------------------
# =============  特殊变量引用 ==========
# -------------------------------------------------------

# ====== 引用格式: Shell变量使用总结.sh : 当前脚本的文件名
$0 # >- Shell变量使用总结.sh

# ====== 引用格式: $num : num为从1开始的数字,param1是第一个参数,param2是第二个参数,是第十个参数
$1 # >- param1
$2 # >- param2
$3 # >- param3

# ====== 引用格式: $# : 传入脚本的参数的个数
$# # >- 3

# ====== 引用格式: $* : 所有的位置参数(作为单个字符串)
$* # >- param1 param2 param3

# ====== 引用格式: $@:所有的位置参数(每个都作为独立的字符串)
$@ # >-
#param1 param2 param3

# ====== 引用格式: $?:当前shell进程中,上一个命令的返回值,如果上一个命令成功执行则0的值为0,否则为其他非零值,常用做if语句条件$? # >- 0

# ====== 引用格式: $$:当前shell进程的pid
$$ # >- 78109

# ====== 引用格式: $!:后台运行的最后一个进程的pid
$! # >-

# ====== 引用格式: $-:显示shell使用的当前选项
$- # >- hB

# ====== 引用格式: $_:之前命令的最后一个参数
$_ # >- $_:之前命令的最后一个参数

Shell特殊字符及特殊变量总结.sh

#! bin/bash

# -------------------------------------------------------------------------------
# 文件名:  Shell特殊字符及特殊变量总结.sh
# 版 本:   1.0
# 创建日期: 2014/02/16
# 描 述:   特殊字符及特殊变量总结
# 作 者:   毕小朋
# 邮 箱:   [email protected]
# 博 客:   http://blog.csdn.net/wirelessqa
# -------------------------------------------------------------------------------

function show_var_escape()
{
cat <<EOF

# -------------------------------------------------------
# =============  特殊字符 ==========
# -------------------------------------------------------
# ========= 用转义符\,屏蔽下一个字符的特殊意义
# ========= 特殊字符及其意义 ========= 
# &  :传递到脚本的参数数量
# *  :0个或多个在*字符前的那个普通字符
# +  :匹配1个或多个在其之前的普通字符
# ^  :匹配行首,或后面字符的非
# \$  :命令退出状态,0表示没错误,非0...
# \`  :反引号,shell引用符号,解析命令
# "  :双引用,shell引用符号
# |  :管道符号或表示“或”意义
# ?  :代表单个字符
# \\  :转义符本身

# ========= 转义符后跟字母表示的特殊意义:========= 
# \n     :换行
# \r     :回车
# \t     :Tab键
# \v或\f :换行但光标停留在原来位置
# \b     :Backspace键
# \a     :警报声
# \0xx   :ASCII码0xx对应字符

EOF


}



str_quote_explain="# ====== 引用格式:"
str_result="# >-"

function show_example_title()
{
    echo ""
    echo ${str_quote_explain} $1
}

function show_example()
{
    echo "$str_echo$1 $str_result $2"

}
show_var_escape

echo ""
echo "# -------------------------------------------------------"
echo "# =============  特殊变量引用 =========="
echo "# -------------------------------------------------------"

show_example_title "$0 : 当前脚本的文件名"

show_example "\$0" "$0"

show_example_title "\$num : num为从1开始的数字,$1是第一个参数,$2是第二个参数,${10}是第十个参数"
show_example "\$1" "$1"
show_example "\$2" "$2"
show_example "\$3" "$3"

show_example_title "\$# : 传入脚本的参数的个数"
show_example "\$#" "$#"

show_example_title "\$* : 所有的位置参数(作为单个字符串) "
show_example "\$*" "$*"

show_example_title "\$@:所有的位置参数(每个都作为独立的字符串)"
show_example "\$@" 
echo "#$@"


show_example_title "\$?:当前shell进程中,上一个命令的返回值,如果上一个命令成功执行则$?的值为0,否则为其他非零值,常用做if语句条件"
show_example "\$?" "$?"

show_example_title "\$\$:当前shell进程的pid"
show_example "\$\$" "$$"

show_example_title "\$!:后台运行的最后一个进程的pid"
show_example "\$!" "$!"

show_example_title "\$-:显示shell使用的当前选项"
show_example "\$-" "$-"

show_example_title "\$_:之前命令的最后一个参数"
show_example "\$_" "$_"

微信公众帐号: wirelessqa

关于作者:

作者: 毕小朋 | 老 毕 邮箱: [email protected]

微博: @WirelessQA 博客: http://blog.csdn.net/wirelessqa


你可能感兴趣的:(shell学习总结之特殊字符及特殊变量)