Linux入门(十八)read&函数

read 读取控制台输入

基本语法

read 选项 参数

选项

-p 指定读取值时的提示符

-t 指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待了

参数

变量:指定读取值的变量名

实例:

1、读取控制台输入一个num值

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

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

read -t 10 -p "请输入一个num2=" num2

echo "输入的num2=$num2"

函数:系统函数和自定义函数
basename

功能:返回完整路径最后/的部分,常用于获取文件名

语法

basename pathname suffix

suffix 为后缀 ,如果suffix被指定了,basename会将pathname或string中的suffi去掉
dirname

功能:返回完整路径最后/前面的部分,常用于返回路径部分

实例

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

bash 复制代码
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

bash 复制代码
 dirname /root/test_shell_code/test_read.sh .sh

自定义函数

基本语法

function \] funname \[()

{

代码

reutrn int;

}

调用 直接写函数名:funame 值

实例

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

bash 复制代码
 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文件里调用

bash 复制代码
 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
相关推荐
不悔哥11 分钟前
Linux系统编程多线程程序如何安全退出
linux
Fcy64824 分钟前
Linux下 数据链路层详解(从以太网到ARP协议)
linux·mac·以太网·数据链路层·arp
YH行业报告分析1 小时前
2026电缆铺设设备市场:自动化敷设与电网升级驱动增长
运维·自动化
ajassi20002 小时前
AI语音智能体开发日记(十八)智能体服务器xiaozhi-esp32-server源码部署指南
运维·服务器·人工智能·ai·ai编程
‎ദ്ദിᵔ.˛.ᵔ₎2 小时前
linux 进程信号(下)
linux·运维·服务器
skywalk81633 小时前
在FreeBSD系统的linux仿真环境下安装和使用kiro 这个亚马逊的AI agent
linux·人工智能·freebsd·kiro
Mikko73 小时前
Linux 磁盘满了但 du 找不到?LVM 扩容 df 不变?fstab 写错开不了机?三台真机实测磁盘排查
linux·运维·centos
蓝胖的四次元口袋3 小时前
Jenkins知识梳理(2)
运维·jenkins
yumgpkpm3 小时前
Acceldata ODP 3.3.6.4 vs CDP Private Cloud Base 7.3.2 对比
大数据·运维·服务器·hadoop·华为·zookeeper·hbase
Madison-No73 小时前
多语言聊天大模型--测试报告
linux·git·python·selenium·jmeter·自动化·postman