shell脚本while循环、read读取控制台输入与函数

image

声明:
以下为个人笔记,内容不完全正确,请谨慎参考。

while循环

while循环结构
while [条件判断]
do
程序
done
脚本示例:

点击查看代码
#!/bin/bash
while [ $a -le $1]
do
	sum=$[ $sum + $a ]
done
echo $sum

简易写法:

点击查看代码
#!/bin/bash
a=1
while [ $a -le $1 ]
do
	let sum+=a
	let a++
done
echo $sum

read 读取控制台输入
基本语法:
read(选项)(参数)
1、选项
-p: 指定读取值时的字符;
-t: 指定读取值等待时间(秒->s)如果-t 不加表示一直等待。
2、参数
变量: 指定读取值的变量名
示例:

点击查看代码
#!/bin/bash
read -t -p "请在5s内输入您的相关个人信息,超时将退出。" AS
echo $AS

函数

先举一个小栗子:

点击查看代码
#!/bin/bash
filename="$1"_log$(datename +%s)
echo $filename

1.1 basename
基本语法

basename [string/patename] [suffix]
功能描述:basename命令会删掉所有的前缀包括最后一个('/')字符,然后将字符串显示出来。
basename可理解为去路径的文件名
选项:
suffix为后缀,如果suffix被指定了,basename会将pathname中的suffix去掉。
脚本示例:

点击查看代码
#!/bin/bash
echo '========== $n ==========='
echo /home name: $(basename $0 .sh)
echo /home/xiaohu name: $(cd 
$(dirname $0); pwd)
echo op name: $1
echo op name: $2

自定义函数:
基本语法:
[function] funname[0]
{
ACTION
[return int;]
}
技巧:
1、必须在调用函数地方之前,先声明函数,shell脚本是否在逐步运行,不会像其他语言一样先编译。
2、函数返回值,只能同归$?变量获得,可以显示加: return返回。
如果不加,将以最后一条命令运行结果,作为返回值。renturn[0~255]
脚本示例:

点击查看代码
#!/bin/bash
function add(){
		s=$($1 + $2)
			echo $s
}

echo '=========== 调用参数 ============'
read -p "请输入第一个整数:" a
read -p "请输入第二个整数: " b

echo '=============== 传参 ========='
sum=$[add $a $b]
echo "和:"$sum
echo "和的平方:"$[$sum * $sum]
posted @ 2024-04-20 16:58  轻棠  阅读(597)  评论(0编辑  收藏  举报