shell脚本while循环、read读取控制台输入与函数
  kRbUxpPyaTZt 22天前 22 0

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]
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 22天前 0

暂无评论

推荐阅读
  VExS4Gg6g4KD   4天前   18   0   0 Linux
  VExS4Gg6g4KD   4天前   14   0   0 Linux
  VExS4Gg6g4KD   4天前   18   0   0 Linux
  X6z51Yzaj35p   4天前   15   0   0 Linux
  T0lscH4Qgx5j   9天前   21   0   0 Linux
  u05qsPMWcUGd   9天前   22   0   0 Linux
  VExS4Gg6g4KD   4天前   14   0   0 Linux
  iNBin04WVNys   4天前   11   0   0 Linux
  QP84hQv41ZIv   4天前   14   0   0 Linux
kRbUxpPyaTZt