当前位置:首页 > 技术文章 > 正文内容

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

相关文章

Linus:Linux 太垃圾了,我把它删了,建议你用 Windows XP

IT之家 1 月 26 日消息,Linux 之父 Linus Torvalds 昨日似乎情绪有点失控,向 GitHub 提交了一个 README 文件,狠狠吐槽了 Linux 系统。Linus 表示:...

如何检查 Linux 系统是 32 位还是 64 位?这9个命令查的又快又准!

在 Linux 系统中,位数(bit)通常指的是 CPU 架构的位宽,即 CPU 一次能够处理的数据量。32 位系统和 64 位系统在内存寻址能力、计算性能和软件支持上存在显著差异:「32 位系统」:...

大神教你用FTP方式无人值守批量安装 linux系统

无人值守安装,顾名思义,安装系统的过程中不需要人的干扰,其可以实现自动安装,所以无人值守安装的优点是:减少安装过程中的人机交互,提高安装效率。一、工作原理:dhcpd + ftp + tftpdPXE...

Linux常用文件操作命令(linux基本文件操作)

ls命令在Linux维护工作中,经常使用ls这个命令,这是最基本的命令,来写几条常用的ls命令。先来查看一下使用的ls版本 # ls --version ls (GNU coreutils) 8.4...

linux学习笔记——常用命令-文件处理命令

ls目录处理命令:ls 全名:list 命令路径:/bin/ls执行权限:所有用户ls –al a-- all l –long -i查看i节点ls –i 查看i节点命令名称:mkdir命令英文原意:m...

Linux是什么?(linux是什么软件)

在今天的时代,计算机系统已经成为了我们生活中不可或缺的一部分。而Linux则是目前世界上最为流行和免费的操作系统之一,它以其自由和开放源代码的特点,吸引了全球大量的程序员和开发者前来使用和修改。那么,...