变量的参数使用
#!/bin/bash
echo "The script name is: $0" # $0表示脚本本身
echo "Parameter #1: $1" # $1表示第1个参数,后面依次类推
echo "Parameter #2: $2"
echo "Parameter #3: $3"
echo "Parameter #4: $4"
echo "Parameter #5:$5"
echo "Parameter #6: $6"
echo "Parameter #7: $7"
echo "Parameter #8:$8"
echo "Parameter #9: $9"
echo "Parameter #10: ${10}" # ${10}用花括号
echo "-------------------------"
echo "The number of command line parameters is: $#" # $#表示传递到脚本的参数数量
echo "All the command line parameters are: $@" # $@或$*表示传递到脚本的所有参数
echo "The process ID is: $$" # $$表示脚本运行的进程号
echo "Did this script have any errors $?" # $?表示命令的退出状态,0表示没有错误 ,非0 表示有错误
#position脚本说明$0,$1,$2,...,${10},$*,$#,$$,$?
#这里用cat tr cut head tail sed awk less more paste来表示$1到${10}这10个参数
#father.sh:该脚本输出自身进程及调用子进程
#!/bin/bash
#输出父进程号
echo "Father Process ID is $$"
#定义本地变量并输出
localvar="Define a local variable."
echo "localvar=$localvar"
#定义环境变量并输出
ENVVAR="Define a environment variable."
export ENVVAR
echo "ENVVAR=$ENVVAR"
#调用child.sh脚本,即创建子进程
$PWD/child.sh
#child.sh执行完毕,输出相关变量值
echo "Return to father process: $$"
echo "localvar=$localvar"
echo "ENVVAR=$ENVVAR"
#child.sh:该脚本输出自身进程号及父进程号、重新定义本地变量和环境变量
#!/bin/bash
#输出自身进程号及父进程号
echo "Chile Process ID is $$"
echo "My Father Process ID is $PPID"
#输出本地变量和环境变量的当前值
echo "localvar=$localvar"
echo "ENVVAR=$ENVVAR"
#重新定义本地变量和环境变量
localvar="Redefine this ocal variable."
ENVVAR="Redefine this environment variable."
echo "localvar=$localvar"
echo "ENVVAR=$ENVVAR"