shell脚本的简单使用:一 ——之特殊变量

Shell变量和Shell特殊变量
新建一个shell脚本
mkdir test
vim test.sh

脚本内容
echo "whats your name?"
# read 命令从 stdin 获取输入并赋值给 PERSON 变量,最后在 stdout 上输出
read PERSON
echo "Hello, $PERSON"
#简单使用循环
for kill in app java c++ 
do 
 echo "I am good at ${kill}"
done

#特殊变量
echo $$
echo "文件名称:$0"
echo "第一个参数:$1"
echo "第二个参数:$2"
echo "所有引用值:$@"
echo "所有引用值:$*"
echo "参数总数:$#"

#$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" #… "$n" 的形式输出所有参数。
#执行 ./test.sh "a" "b" "c" "d"后
echo "\$*="$*
echo "\$@="$@

#$? 可以获取上一个命令的退出状态。所谓退出状态,就是上一个命令执行后的返回结果。成#功是0
echo "上一个命令的退出状态:$?"

echo "print each param from \$*"
for var in $*
do 
 echo "$var"
done

echo "print each param from \$@"
for var in $@
do 
 echo "$var"
done

echo "print each param from \"\$*\""
for var in "$*"
do 
 echo "$var"
done

echo "print each param from \"\$@\""
for var in "$@"
do 
 echo "$var"
done

注意$*和$@
当被双引号包围时候"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数。



猜你喜欢

转载自janle.iteye.com/blog/2367294