当前位置: 首页 > news >正文

Linux入门(十八)read函数

read 读取控制台输入
基本语法
read 选项 参数
选项
-p 指定读取值时的提示符
-t 指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待了
参数
变量:指定读取值的变量名

实例:
1、读取控制台输入一个num值
2、读取控制台输入一个num值,在10秒内输入

vi test_read.sh
#!/bin/bash
#读取控制台输入一个num值
read -p "请输入一个num1=" num1
echo "输入的num1=$num1"
#读取控制台输入一个num值,在10秒内输入read -t 10 -p "请输入一个num2=" num2echo "输入的num2=$num2"

函数:系统函数和自定义函数
basename
功能:返回完整路径最后/的部分,常用于获取文件名
语法
basename [pathname] [suffix]
suffix 为后缀 ,如果suffix被指定了,basename会将pathname或string中的suffi去掉
dirname
功能:返回完整路径最后/前面的部分,常用于返回路径部分

实例
1、请返回/root/test_shell_code/test_read.sh 的test_read.sh部分

basename /root/test_shell_code/test_read.sh
basename /root/test_shell_code/test_read.sh .sh

在这里插入图片描述

2、请返回/root/test_shell_code/test_read.sh 的/root/test_shell_codebuf

 dirname /root/test_shell_code/test_read.sh .sh

自定义函数
基本语法
[ function ] funname [()]
{
代码
[reutrn int;]
}
调用 直接写函数名:funame [值]

实例
1、计算输入的两个参数的和,getSum

 vi  test_fun.sh#!/bin/bash
function getSum(){SUM=$[$1+$2]echo "总和=$SUM"
}
read -p "请输入一个数n1=" n1
read -p "请输入一个数n2=" n2
getSum $n1 $n2

如果想要getSum 函数在别的sh文件里调用

 vi  test_fun.sh#!/bin/bash
function getSum(){SUM=$[$1+$2]echo "总和=$SUM"
}
vi test_fun2.sh
#!/bin/bash
#导入sh 文件
#source /root/test_shell_code/test_fun.sh
#或者使用简写
. /root/test_shell_code/test_fun.sh
read -p "请输入一个数n1=" n1
read -p "请输入一个数n2=" n2
getSum $n1 $n2
http://www.xdnf.cn/news/1051921.html

相关文章:

  • 第十六届蓝桥杯国赛(2025)C/C++B组 蓝桥星数字 独家解析
  • Python 基础语法 (4)【适合0基础】
  • 幻休 v3.0.02 | AI趣味呼吸 助眠音乐 冥想音频
  • Java微服务框架技术选型全景报告
  • LangGraph--Agent常见的模式2(并行、数据路由)
  • 链表(C语言)—学习笔记
  • 淘宝/天猫API系列-商品列表页采集接口教程
  • win10 乌班图系统安装(推荐)
  • 安装前端vite框架,后端安装fastapi框架
  • 第二十章 Centos8的使用
  • 苏州SAP代理商:哲讯科技助力企业数字化转型
  • CSS 第四天 复合选择器、CSS特性、背景属性、显示模式
  • 前端api中使用data传参源码解释
  • 第8章:Neo4j性能优化
  • SCADA|KingSCADA4.0中历史趋势控件与之前版本的差异
  • Codeception中如何使用Fixtures优化测试
  • 说说聚合路由器
  • 【编译原理】第十章 优化
  • 影视剧学经典系列-梁祝-陶渊明《感士不遇赋并序》
  • Google DeepMind研究:大语言模型(LLMs) 思维链解码(CoT-decoding)方法解析
  • MCP案例 - 数据可视化工具服务器
  • 《从入门到精通:解锁Android Studio的无限可能》
  • 第六章:连接查询优化 - 多表联查不再慢
  • Ubuntu中ESP32使用记录
  • 模拟设计的软件工程项目
  • 软件工程瀑布模型学习指南
  • Vue 3 路由跳转全面指南(Composition API + <script setup>)
  • SpringBoot电脑商城项目--用户注册功能
  • 使用 socat 和 xinetd 将程序绑定到端口运行
  • 电磁场与电磁波篇---梯度散度旋度