Linux,shell,特殊变量,传递参数,函数,函数的调用,代码案例

Shell特殊变量、函数与参数传递

案例1:

#!/bin/bash

# 执行: ./demo.sh 11111 22222

# 注:$10不能获取第十个参数,获取第十个参数需要${10};
# 当n>=10时,需要使用${n}来获取参数;
echo "当前执行的脚本:$0"
echo "接收当前脚本的参数:$@"
echo "接收当前脚本的参数1:$1"
echo "接收当前脚本的参数2:$2"

# 定义函数
function fn1() {
  echo "函数的参数:$@"
  echo "函数的参数1:$1"
  echo "函数的参数2:$2"
  return $[ $1+$2 ]
}

# 调用函数
fn1 12 34
# 获取返回值
val1=$?
echo "函数的调用结果为:$val1"

# 函数的返回值介于0~255之间的整数,0表明成功,其它值都表明失败
# $?是一个特殊变量,用来获取上一个命令的退出状态,或者上一个函数的返回值
fn1 123 456
val2=$?
echo "函数的调用结果为:$val2"

Shell函数的调用与返回值处理

案例1:

#!/bin/bash

# 当函数返回字符串时的处理办法
# 定义函数,省略:function
get_str(){
  echo "函数参数:$@"
  echo "这里是函数返回的字符串~"
}
# 调用函数1
echo `get_str aaa bbb`
# 调用函数2
echo $(get_str aaa bbb)


# 定义函数,省略写法
get_num(){
  local x
  x=$[ $1+$2 ]
  return $x
}
# 调用函数
get_num 12 45
echo "调用结果:$?"


## 和获取内容
get_content(){
  cat /etc/passwd > $1
  return 0
}
# 调用函数
filename="file"
get_content $filename
# 打印函数处理内容
cat $filename | while read line
do
  echo $line
done
# 移除文件
rm -rf $filename
© 版权声明

相关文章

1 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    东方卫视番茄台 投稿者

    收藏了,感谢分享

    无记录