shell脚本 读取控制台输入,函数

  • Post author:
  • Post category:其他




一、read 读取控制台输入



1.基本语法

read(选项)(参数)

选项:

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

-t:指定读取值时等待的时间(秒)

参数

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

案例:

提示7秒内,读取控制台输入的名称

#!/bin/bash
read -t 7 -p "Enter your name in 7 seconds" NAME
echo $NAME

在这里插入图片描述



二、函数



1.系统函数


1.basename 基本语法

basename [string/pathname][suffix]

功能描述:basename命令会删除所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。

选项:

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

案例如下:

截取该 /data/test/helloworld.sh路径的文件名称

在这里插入图片描述



2.dirname基本语法

dirname 文件绝对路径

功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)

案例如下:

获取helloword.sh的路径

在这里插入图片描述



2.自定义函数


1.基本语法
[function] funname[()]
{
	Action;
	[return int;]
}
funname


2.经验技巧

(1)必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样先编译。

(2)函数返回值,只能通过$?系统变量获得,可以显示加:return 返回,如果不加,将以最后一条命令运行结果作为返回值。return后跟数值n(0-255)

案例:

计算两个输入参数的和

#!/bin/bash
function add()
{
        s=0;
        s=$[$1+$2]
        echo $s
}
read -p "please input parameter1;" P1
read -p "please input parameter2;" P2
add $P1 $P2

在这里插入图片描述



版权声明:本文为qq_44167647原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。