Shell脚本(上)

2020-03-19  本文已影响0人  chanzd

1.基本

变量 含义
$0 当前脚本文件名
$n(n>=1) 传递给脚本或者函数的参数
$# 传递给脚本或函数的参数个数
$* 传递给脚本或函数的所有参数
$@ 同上 微有不同
$? 上个命令的退出状态,或函数的返回值
$$ 当前shell的进程ID,对于shell脚本,就是脚本所在进程ID

  • $* 会将所有参数整体当作一份数据
  • $@仍然将每个参数都看作一份数据
  #!/bin/bash
echo "print each param from \"\$*\""
for var in "$*"
do
    echo "$var"
done
echo "print each param from \"\$@\""
for var in "$@"
do
    echo "$var"
done

$?获取上一个命令的退出状态 或者函数返回值

#a.sh
#!/bin/bash
if [ $1 == 100 ]
then
   return 0  #参数正确,返回0
else
   return 1  #参数错误,返回1
fi
#b.sh
#!/bin/bash
echo $?
$ . ./a.sh 100
$ . ./b.sh
0
#!/bin/bash
#得到两个数相加的和
function add(){
    return `expr $1 + $2`
}
add 23 50  #调用函数
echo $?  #获取函数返回值
#!/bin/bash
str="http://c.biancheng.net/shell/"
echo ${#str}
#!/bin/bash
name="Shell"
url="http://c.biancheng.net/shell/"
str1=$name$url  #中间不能有空格
str2="$name $url"  #如果被双引号包围,那么中间可以有空格
str3=$name": "$url  #中间可以出现别的字符串
str4="$name: $url"  #这样写也可以
str5="${name}Script: ${url}index.html"  #这个时候需要给变量名加上大括号
echo $str1
echo $str2
echo $str3
echo $str4
echo $str5
运行结果:
Shellhttp://c.biancheng.net/shell/
Shell http://c.biancheng.net/shell/
Shell: http://c.biancheng.net/shell/
Shell: http://c.biancheng.net/shell/
ShellScript: http://c.biancheng.net/shell/index.html
上一篇 下一篇

猜你喜欢

热点阅读